【垃圾菜鸟笔记】java 一个类发送邮件
2014-05-14 10:05
381 查看
SendMail.java
还是有一点问题没有解决的了
在使用qq邮箱为发送方的时候会报这个错误
设置了 port 465之后 提示信息没有报错 或者是我等待的时间太短了,看提示信息有一条这样的
.........(略) isSSL false 卡到这里不继续了
这个是
http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=369
做这个的时候还有个小问题,用163都调试成功了 控制台正常输出信息,但是打开qq邮箱收件箱一看 噫? 为啥没有邮件呢 ,然后俺就多执行了几遍,还是没有邮件
就在执行了n遍以后突然想到了 邮箱是会自动处理垃圾邮件的 打开垃圾箱 测试邮件老老实实的躺在那里
注:以上xxx标示的 皆为个人信息不便透露 嘿嘿
package xxx.common; import java.io.UnsupportedEncodingException; import java.util.Properties; import javax.activation.DataHandler; import javax.activation.DataSource; import javax.activation.FileDataSource; import javax.mail.Address; import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.PasswordAuthentication; 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 com.sun.xml.internal.messaging.saaj.packaging.mime.internet.MimeUtility; public class SendMail { public static void main(String[] args) { //配置参数 Properties props=new Properties(); props.setProperty("mail.smtp.auth", "true");//是否有身份验证 props.setProperty("mail.transport.protocol", "smtp");//使用的传输协议 props.setProperty("mail.smtp.host", "smtp.163.com");//设置SMTP服务器 props.setProperty("mail.smtp.from", "xxx@163.com");//发送方邮件地址 //默认port 是25 这个可以自己设置mail.smtp.port //连接邮件服务器会话对象,传入参数和用户名密码验证对象,此处用匿名类实现 Session session=Session.getInstance(props,new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication("xxxxx@163.com","xxxxxx"); } }); //显示调试信息 session.setDebug(true); //复杂信息对象 MimeMessage msg=new MimeMessage(session); try { //发送方的邮箱地址 msg.setFrom(new InternetAddress("xxxxx@163.com")); //邮件主题 msg.setSubject("这是一封测试邮件"); //接收方的邮箱地址数组,Message.RecipientType.TO是发送方式(TO正常,CC抄送,BCC密件抄送) msg.setRecipients(Message.RecipientType.TO, new Address[]{new InternetAddress("xxxx@qq.com")});//在此处传入接收方邮箱地址 //为混合模式的邮件内容对象 MimeMultipart msgMultipart = new MimeMultipart("mixed"); //内容1:普通HTML文本 MimeBodyPart body1 = new MimeBodyPart(); body1.setContent("<font color=red>红色的测试文本</font>","text/html;charset=gbk"); //将内容1加入到邮件内容对象中 msgMultipart.addBodyPart(body1); //内容2:一个文件附件 MimeBodyPart body2 = new MimeBodyPart(); DataSource ds = new FileDataSource("f:\\20.png");//源文件路径 DataHandler dh = new DataHandler(ds);//包装文件 body2.setDataHandler(dh);//设置内容2的文件附件 body2.setFileName(MimeUtility.encodeText("文件20.png"));//设置附件名称,中文要转码 //将内容2加入到邮件内容对象中 msgMultipart.addBodyPart(body2); //设置邮件内容 msg.setContent(msgMultipart); //发送邮件 Transport.send(msg); } catch (MessagingException e) { e.printStackTrace(); }catch(Exception ex){ ex.printStackTrace(); } } }
还是有一点问题没有解决的了
在使用qq邮箱为发送方的时候会报这个错误
javax.mail.AuthenticationFailedException: 530 Error: A secure connection is requiered(such as ssl). More information at http://service.mail.qq.com/cgi-bin/help?id=28 at com.sun.mail.smtp.SMTPTransport$Authenticator.authenticate(SMTPTransport.java:826) at com.sun.mail.smtp.SMTPTransport.authenticate(SMTPTransport.java:761) at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:685) at javax.mail.Service.connect(Service.java:295) at javax.mail.Service.connect(Service.java:176) at com.javaMail.entity.MailUtil.sendEmail(MailUtil.java:38) at com.javaMail.entity.MailUtil.main(MailUtil.java:60)
设置了 port 465之后 提示信息没有报错 或者是我等待的时间太短了,看提示信息有一条这样的
.........(略) isSSL false 卡到这里不继续了
这个是
如何设置POP3/SMTP的SSL加密方式?(腾讯)
http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=369 做这个的时候还有个小问题,用163都调试成功了 控制台正常输出信息,但是打开qq邮箱收件箱一看 噫? 为啥没有邮件呢 ,然后俺就多执行了几遍,还是没有邮件
就在执行了n遍以后突然想到了 邮箱是会自动处理垃圾邮件的 打开垃圾箱 测试邮件老老实实的躺在那里
注:以上xxx标示的 皆为个人信息不便透露 嘿嘿
相关文章推荐
- 菜鸟笔记(二) - Java邮件发送实践
- 一个用java发送邮件的简单小程序
- Java笔记——JavaMail发送邮件
- NetBeans IDE可视化java编程菜鸟笔记--用NetBeans创建一个Hello World项目
- 防遗忘笔记:推荐一个ubuntu 下可以通过命令行发送邮件的软件
- 笔记:Java邮件发送报544错误、只能发送邮件给自己
- java邮件开发详解笔记(创建一个内嵌图片和附件的邮件)
- Java笔记——JavaMail发送邮件
- 关于java发送邮件的一个示例
- Java学习笔记35_发送qq邮件
- 基本在每个项目中都会遇到发送邮件的需求,大家熟知的邮箱有新浪、雅虎、QQ、OUTLOOK等,想必大家也遇到过发送邮件总是被发送到垃圾邮箱中,下面是我找到的一个解决办法,仅供参考。
- 用java发送lotus邮件一个完整例子
- Java发送邮件的一个简单Demo
- 【Java邮件开发】5.编写一个JavaMail发送邮件的程序
- Java学习笔记(1)----Java中发送邮件
- 使用java编写一个定期发送邮件通知的工具类
- 一个简单的自动发送邮件系统(三)
- 一个简单的自动发送邮件系统(一)
- 一个简单的自动发送邮件系统(三)
- 一个简单的自动发送邮件系统(一)