使用java发送邮件
首先要加入mail.jar包
import java.io.UnsupportedEncodingException;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Address;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeUtility; public class SendMail {
/**
* 发送邮件
* @param from 发送方地址
* @param frompwd 发送方邮件密码
* @param to 发送的目的地
* @param sub 邮件主题
* @param attr 附件
* @param content 内容
* @throws MessagingException
* @throws UnsupportedEncodingException
*/
public void sendTextMail(String from, String frompwd, String to, String sub, String attr,String content)
throws MessagingException, UnsupportedEncodingException {
Properties props = new Properties();
props.setProperty("mail.smtp.auth", "true");// 设置访问smtp服务器需要认证
props.setProperty("mail.transport.protocol", "smtp"); // 设置访问服务器的协议 Session session = Session.getDefaultInstance(props);
session.setDebug(true); // 打开debug功能 Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(from)); // 设置发件人,163邮箱要求发件人与登录用户必须一致(必填),其它邮箱不了解
// msg.setText(content); // 设置邮件内容
msg.setSubject(sub); // 设置邮件主题
MimeBodyPart mbp = new MimeBodyPart();
// 是否有附件
if (attr != null && attr != "") {
FileDataSource fds = new FileDataSource(attr); mbp.setDataHandler(new DataHandler(fds));
mbp.setFileName(MimeUtility.encodeText(fds.getName()));
}
mbp.setContent(content.toString(), "text/html;charset=gb2312"); // 设置发送内容
Multipart mp = new MimeMultipart();
mp.addBodyPart(mbp);
msg.setContent(mp); //发送附件
Transport trans = session.getTransport();
trans.connect("smtp.163.com", 25, from, frompwd); // 连接邮箱smtp服务器,25为默认端口
trans.sendMessage(msg, new Address[] { new InternetAddress(to) }); // 发送邮件
trans.close(); // 关闭连接
}
}
这里只能发送163邮件。
本文参考博客:http://www.2cto.com/kf/201402/276546.html
使用java发送邮件的更多相关文章
- Java发送邮件初窥
一.背景 最近朋友的公司有用到这个功能,之前对这一块也不是很熟悉,就和他一起解决出现的异常的同时,也初窥一下使用Apache Common Email组件进行邮件发送. 二.Java发送邮件的注意事项 ...
- Java发送邮件,所遇到的常见需求
明天要做关于发送邮件的接口,虽然我之前已用Java Mail做过许多关于邮件的发送.但同事说有点难点,虽我还不知难点在哪,还是要复习下.凡事预则立,不预则废嘛~ 所需的包: Java Mail : 目 ...
- 用java发送邮件(黄海已测试通过)
/** * java发送带附件的邮件 * 周枫 * 2013.8.10 */ package com.dsideal.Util; import javax.mail.*; import javax.m ...
- Java发送邮件(带附件)
实现java发送邮件的过程大体有以下几步: 准备一个properties文件,该文件中存放SMTP服务器地址等参数. 利用properties创建一个Session对象 利用Session创建Mess ...
- 用Java发送邮件
要用Java发送邮件,除过JDK本身的jar包之外,还需要两个额外的jar包:JavaMail和JAF.当然,如果你使用的JavaEE的JDK,那就不用单独去网上下载了,因为JavaEE的JDK中已经 ...
- Java发送邮件时标题和发件人乱码
最近碰到一个问题,Java发送邮件时,查看邮箱结果,发件人及邮件标题正文全部乱码 通过翻阅资料,原因及解决方法如下: // Set Subject: 头字段 message.setSubject(Mi ...
- Java - 31 Java 发送邮件
Java 发送邮件 使用Java应用程序发送E-mail十分简单,但是首先你应该在你的机器上安装JavaMail API 和Java Activation Framework (JAF) . 你可以在 ...
- Java-Runoob-高级教程:Java 发送邮件
ylbtech-Java-Runoob-高级教程:Java 发送邮件 1.返回顶部 1. Java 发送邮件 使用Java应用程序发送 E-mail 十分简单,但是首先你应该在你的机器上安装 Java ...
- Java发送邮件--web.xml配置,Java代码配置
前言:我目前总结的使用java发送邮件的方式有两种,分别是在spring框架xml配置文件使用bean标签,另一种方法是把发送功能封装成一个对象,废话不多说上代码, 边看代码边讲解,希望对需要的人能有 ...
- Java发送邮件示例
利用Java发送邮件示例: 1.发送QQ邮件 import java.util.Properties; import javax.mail.Message; import javax.mail.Mes ...
随机推荐
- Forward和Redirect的区别
一:间接请求转发(Redirect) 二:直接请求转发(Forward) 用户向服务器发送了一次HTTP请求,该请求可能会经过多个信息资源处理以后才返回给用户,各个信息资源使用请求转发机制相互转发请求 ...
- HTML语言学习笔记(会更新)
# HTML语言学习笔记(会更新) 一个html文件是由一系列的元素和标签组成的. 标签: 1.<html></html> 表示该文件为超文本标记语言(HTML)编写的.成对出 ...
- 关于Application.Lock和Lock(obj) 转 http://www.cnblogs.com/yeagen/archive/2012/03/01/2375610.html
关于Application.Lock和Lock(obj) Posted on 2012-03-01 15:28 billpeng 阅读(3498) 评论(3) 编辑 收藏 1.Application. ...
- stopping NetworkManager daemon failed
1 初次安装NetworkManager时发现,无法将这个服务关闭 2 上网找了一圈,也没找到原因 3 重启服务器后就能正常关闭了 4 将该服务删除重装也能正常关闭 5 下回重装系统时再观察一下
- JAVA语法02之课程问题解决
(一)示例程序+运行结果: ①EnumTest.java public class EnumTest { public static void main(String[] args) { Size s ...
- ArcGIS GDB 文件中的lock文件影响复制
复制或压缩gdb文件的时候,经常碰到有lock文件,解决方法是: 在catalog中停止相应的地图服务 如果用catalog预览过相应的地图,关闭catalog
- thinkjs中自定义sql语句
一直以为在使用thinkjs时,只能是它自带的sql语句查询,当遇到类似于这样的sql语句时,却不知道这该怎样来写程序,殊不知原来thinkjs可以执行自定义sql语句 SELECT * from a ...
- CentOS 7 Mysql yum源
CentOS 7 安装Mysqlrpm -ivh http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpmyum install m ...
- WCF初探-25:WCF中使用XmlSerializer类
前言 在上一篇WCF序列化和反序列化中,文章介绍了WCF序列化和反序列化的机制,虽然WCF针对序列化提供了默认的DataContractSerializer序列化引擎,但是WCF还支持其他的序列化引擎 ...
- javascript实现列表的点击展开折叠
<script> window.onload = function() { //要折叠的区域 var catalog = document.getElementById("div ...