首页 / JAVA / java email发送
java email发送
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java email发送,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3044字,纯文字阅读大概需要5分钟。
内容图文
今天自己封装了email发送,做了一个对外的接口,目前支持text/html类型,打算明天支持直接文字类型以及html文件类型,先上传目前的封装代码。(2016/8/29)。
我在写这段代码的时候出现了正文乱码现象,调整了一个小时也没有找出问题,换成英文可以正常发送,但是里面包含中文就是乱码并且时而发送邮件失败。但是调整一个小时后自己突然好了,无论我改什么编码类型都能正常解码,我对照了原来自己的代码也是一摸一样,我对此百思不得其解,目前也没有发现问题。
我是maven管理项目,所以在pom.xml文件导入两个jar包依赖
<!--发送Email--> <dependency> <groupId>commons-email</groupId> <artifactId>commons-email</artifactId> <version>1.1</version> </dependency> <dependency> <groupId>javax.activation</groupId> <artifactId>activation</artifactId> <version>1.1.1</version> </dependency>
建立一个SendMail类封装数据
package com.yuyang.Common; import org.apache.commons.mail.MultiPartEmail; import javax.mail.Message; 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.swing.plaf.PanelUI; import java.util.Date; import java.util.Properties; /** * Created by yangyu on 16/8/29. */ public class SendMail { private static Properties props = null;//初始化链接邮件会话信息 // 邮件发送协议privatefinalstatic String PROTOCOL = "smtp"; // SMTP邮件服务器privatefinalstatic String HOST = "smtp.163.com"; // SMTP邮件服务器默认端口privatefinalstatic String PORT = "25"; // 是否要求身份认证privatefinalstatic String IS_AUTH = "true"; // 是否启用调试模式(启用调试模式可打印客户端与服务器交互过程时一问一答的响应消息)privatefinalstatic String IS_ENABLED_DEBUG_MOD = "true"; static { props = new Properties(); props.setProperty("mail.transport.protocol", PROTOCOL); props.setProperty("mail.smtp.host", HOST); props.setProperty("mail.smtp.port", PORT); props.setProperty("mail.smtp.auth", IS_AUTH); props.setProperty("mail.debug",IS_ENABLED_DEBUG_MOD); } /** * * 发送简单的HTML邮件 * */publicstaticvoid sendTextEmail(String to,String subject,String content) throws Exception{ // 创建Session实例对象 Session session = Session.getDefaultInstance(props); //创建发送信息的对象,并加入配置文件 MimeMessage message = new MimeMessage(session); //设置发件人 message.setFrom(new InternetAddress("jxndyy2014@163.com")); //设置主题 message.setSubject(subject); // 设置收件人 message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(to)); // 设置发送时间 message.setSentDate(new Date()); //设置html内容为邮件正文,指定MIME类型为text/html类型,并指定字符编码为utf-8 message.setContent(content,"text/html;charset=utf-8"); // 保存并生成最终的邮件内容 message.saveChanges(); // 发送邮件 // 获得Transport实例对象 Transport transport = session.getTransport(); // 打开连接 transport.connect("jxndyy2014@163.com", "blue208115501"); // 将message对象传递给transport对象,将邮件发送出去 transport.sendMessage(message, message.getAllRecipients()); // 关闭连接 transport.close(); } }
最后我用junit4进行测试
import com.yuyang.Common.SendMail; import org.junit.Test; /** * Created by yangyu on 16/8/29. */ public class SendMailTest { @Test public void testSendMail() throws Exception { SendMail.sendTextEmail("jxndyy2015@163.com","测试","<span style=‘color:red;‘>这是您的验证码:123123</span>"); } }
原文:http://www.cnblogs.com/claireyu1219/p/5819688.html
内容总结
以上是互联网集市为您收集整理的java email发送全部内容,希望文章能够帮你解决java email发送所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。