600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > JavaMail用QQ邮箱发送邮件

JavaMail用QQ邮箱发送邮件

时间:2019-07-03 19:57:34

相关推荐

JavaMail用QQ邮箱发送邮件

由于在最近的学习上要用到发送邮件的功能,所以学习了JavaMail,但是在使用QQ邮箱的时候发现了一个问题,使用服务器端口号为的时候会发生A secure connection is requiered(such as ssl)的异常,说这个不安全,后来去网上查了以后发现25端口是非SSL协议端口号,但是改成465端口号的时候就运行不出来587端口号的时候就出现Could not connect to SMTP host的异常,在网上查了一系列资料,都说把服务器改成smtp.就可以了,但是我实验了还是不行,改了之后又会报Invalid domain name的异常,当时就很纳闷到底是怎么一回事~

后来经过查找发现只要在Properties下面调用put方法加上这两个参数就好了properties.put("mail.smtp.ssl.enable", "true");

下面是我用的JavaMali的版本以及jar包和源代码

版本:javamail1_4_7(mailapi.jar,smtp.jar)

下载地址:/s/1hqiOEMS

import java.security.GeneralSecurityException;import java.util.Properties;import javax.mail.Address;import javax.mail.Message;import javax.mail.MessagingException;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;import com.sun.mail.util.MailSSLSocketFactory;public class Mail {public static void sendMail() {try {Properties props = new Properties();//普通客户端props.setProperty("mail.smtp.auth", "true");//选择协议props.setProperty("mail.transport.protocol", "smtp");MailSSLSocketFactory sf = new MailSSLSocketFactory();sf.setTrustAllHosts(true);props.put("mail.smtp.ssl.enable", "true");props.put("mail.smtp.ssl.socketFactory", sf);//Session session = Session.getDefaultInstance(props);// 设置debug模式 在控制台看到交互信息session.setDebug(true);// 建立一个要发送的信息(邮件的标题,内容等)Message msg = new MimeMessage(session); // 设置简单的发送内容msg.setText("hello");msg.setFrom(new InternetAddress("qing.suibian@"));// 发件人邮箱号//邮件标题msg.setSubject("test");// 发送信息的工具Transport transport = session.getTransport();// 发件人邮箱号// 和密码transport.connect("", 465, "fajianren@","password");transport.sendMessage(msg, new Address[] { new InternetAddress("shoujianren@") });// 对方的地址transport.close();} catch (MessagingException e) {e.printStackTrace();} catch (GeneralSecurityException e) {e.printStackTrace();}}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。