代码详解java发送邮件
来源:互联网 发布:linux xampp 启动界面 编辑:程序博客网 时间:2024/06/05 10:02
转自:http://blog.csdn.net/duanml61/article/details/8306290
不废话了,今天早上写了个java发送邮件服务类,直接看源码:
- package dec;
- import java.util.Properties;
- import javax.mail.Message;
- import javax.mail.MessagingException;
- import javax.mail.Session;
- import javax.mail.Transport;
- import javax.mail.internet.AddressException;
- import javax.mail.internet.InternetAddress;
- import javax.mail.internet.MimeMessage;
- /**
- *
- *
- * <p>Title: Java发送邮件测试类 /p>
- *
- * <p>Description: 示例 业务类</p>
- *
- * <p>Copyright: Copyright (c) 2012</p>
- *
- *
- * @author dml@2012-12-17
- * @version 1.0
- */
- /****************************************************************
- * 对QQ邮箱使用(对于其他的使用类似的你应该也会更改了) 首先把QQ邮箱的POP3 SMTP打开 首先确定你的网络正常、非代理
- * 【确定你的QQ邮箱开启了SMTP】!!!! 如果没有开启,那么这样设置下 设置->账户 --在下面-- 把这个选上 [√]SMTP发信后保存到服务器
- ****************************************************************/
- public class JavaMail {
- // 设置服务器
- private static String KEY_SMTP = "mail.smtp.host";
- private static String VALUE_SMTP = "smtp.qq.com";
- // 服务器验证
- private static String KEY_PROPS = "mail.smtp.auth";
- private static boolean VALUE_PROPS = true;
- // 发件人用户名、密码
- private String SEND_USER = "********@qq.com";
- private String SEND_UNAME = "********";
- private String SEND_PWD = "*******";
- // 建立会话
- private MimeMessage message;
- private Session s;
- /*
- * 初始化方法
- */
- public JavaMail() {
- Properties props = System.getProperties();
- props.setProperty(KEY_SMTP, VALUE_SMTP);
- props.put(KEY_PROPS, VALUE_PROPS);
- s = Session.getInstance(props);
- /* s.setDebug(true);开启后有调试信息 */
- message = new MimeMessage(s);
- }
- /**
- * 发送邮件
- *
- * @param headName
- * 邮件头文件名
- * @param sendHtml
- * 邮件内容
- * @param receiveUser
- * 收件人地址
- */
- public void doSendHtmlEmail(String headName, String sendHtml,
- String receiveUser) {
- try {
- // 发件人
- InternetAddress from = new InternetAddress(SEND_USER);
- message.setFrom(from);
- // 收件人
- InternetAddress to = new InternetAddress(receiveUser);
- message.setRecipient(Message.RecipientType.TO, to);
- // 邮件标题
- message.setSubject(headName);
- String content = sendHtml.toString();
- // 邮件内容,也可以使纯文本"text/plain"
- message.setContent(content, "text/html;charset=GBK");
- message.saveChanges();
- Transport transport = s.getTransport("smtp");
- // smtp验证,就是你用来发邮件的邮箱用户名密码
- transport.connect(VALUE_SMTP, SEND_UNAME, SEND_PWD);
- // 发送
- transport.sendMessage(message, message.getAllRecipients());
- transport.close();
- System.out.println("send success!");
- } catch (AddressException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (MessagingException e) {
- e.printStackTrace();
- }
- }
- public static void main(String[] args) {
- JavaMail se = new JavaMail();
- se.doSendHtmlEmail("邮件头文件名", "邮件内容", "*******@***.com");
- }
- }
所需jar包只有一个,mail.jar
需要注意的是,执行程序前需要保证邮箱开启了SMTP,本例使用QQ邮箱进行测试,设置路径
QQ Mail Settings->Account->POP3/IMAP/SMTP Service 选中
0 0
- 代码详解java发送邮件
- java发送邮件代码
- JAVA邮件发送代码
- Java代码发送邮件
- java 邮件发送代码
- Java 发送邮件代码
- JAVA发送邮件代码
- Java代码发送邮件
- java代码发送邮件
- java代码发送邮件
- java发送邮件代码
- java 代码邮件发送
- java 发送邮件 详解
- Java邮件发送详解
- 怎么用java发送带附件的邮件代码详解
- java代码实现邮件发送
- java代码实现发送邮件
- Java原生发送邮件代码
- 11/06/2014
- 【网络协议】TCP连接的建立和释放
- 解决The current branch is not configured for pull No value for key branch.master.merge found in config
- swift笔记——环境搭建及Hello,Swift!
- MongoDB的日常维护管理
- 代码详解java发送邮件
- MySQL之慢查询-删除慢查询日志
- [LeetCode12]Integer to Roman
- android源代码分析二:Android AIDL使用详解
- varnish 的配置文件详细解析(VCL详解)
- 设计模式-代理模式
- 好用的xshell颜色配置
- iOS开发- 隐藏键盘总结
- 集团信息化“润物细无声”