java实现简单的QQ邮箱发送

package net.lzzy.utils;
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.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;


import com.sun.mail.util.MailSSLSocketFactory;


/**
 * 启动线程发送邮件
 * 
 * @author itan
 *
 */
public class EmailUtil extends Thread {

@Override
public void run() {
sendQQMail1("2141457859@qq","123456" );
}
   //简单qq邮件
public static  void sendQQMail1(String sendAddress, String code) {


try {
Properties props = new Properties();
// 开启debug调试
props.setProperty("mail.debug", "true");
// 发送服务器需要身份验证
props.setProperty("mail.smtp.auth", "true");
props.setProperty("mail.smtp.port", "465");
// 设置邮件服务器主机名
props.setProperty("mail.smtp.host", "smtp.qq.com");
// 发送邮件协议名称
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.getInstance(props);
Message msg = new MimeMessage(session);
msg.setSubject("尊敬的xxx公司员工!");
msg.setContent(
"这是一封通知邮件!"+"===申请状态:=="+code+"<本邮件由系统自动发出,不要直接回复>",
"text/html;charset=UTF-8");


msg.setFrom(new InternetAddress("1607910800@qq.com"));


Transport transport = session.getTransport();
// (String host, String user, String password--授权码)
transport.connect("smtp.qq.com", "1607910800@qq.com", "qoauoxwxfbyejdej");
transport.sendMessage(msg, new Address[] { new InternetAddress(sendAddress) });
transport.close();
} catch (Exception e) {


e.printStackTrace();
}
}
  //复杂qq邮件发送
public void sendQQMail2(String sendAddress,String code) {
try {
Properties props = new Properties();
props.setProperty("mail.debug", "true");
props.setProperty("mail.transport.protocol", "smtp");
// 此处填写SMTP服务器 设置邮件服务器主机名
props.setProperty("mail.smtp.host", "smtp.qq.com");
// 表示SMTP发送邮件,必须进行身份验证
props.setProperty("mail.smtp.auth", "true");
// 端口号,QQ邮箱给出了两个端口服务器的端口号修改成465或587;
props.setProperty("mail.smtp.port", "465");
//设置 ssl协议许可
props.setProperty("mail.smtp.ssl.enable", "true");

// session 代表邮件
Session session = Session.getDefaultInstance(props);
// 用MIME协议生成一封复杂的邮件
MimeMessage message = new MimeMessage(session);
// 发件人的邮件地址
message.setFrom(new InternetAddress("1607910800@qq.com"));
// 收件人的邮件地址
message.setRecipients(Message.RecipientType.TO, sendAddress);
// 邮件主题
message.setSubject("感谢您的注册");
// 写邮件的正文,用到的是MimeBodyPart类 邮件主体
MimeBodyPart part = new MimeBodyPart();
part.setContent(
"(徐家彬先生你好!)这是一封激活邮件<a href='http://localhost:8080/Shopping/servlet/ActivityServlet?code=" + code
+ "'>http://localhost:8080/shopping/servlet/ActivityServlet?code=" + code
+ "</a><strong>点击链接激活账户</strong></br>" + "<i>本邮件由系统自动发出,不要直接回复</i>",
"text/html;charset=UTF-8");
// 创建关系,把图片的文字联系起来,用到的类是MimeMultiPart
MimeMultipart multipart = new MimeMultipart();
multipart.addBodyPart(part);


message.setContent(multipart);
message.saveChanges();
Transport ts = session.getTransport();
ts.connect("smtp.qq.com", "1607910800@qq.com", "qoauoxwxfbyejdej");
ts.sendMessage(message, message.getAllRecipients());

ts.close();


} catch (MessagingException e) {


e.printStackTrace();
}
}


}

注意发送账户需要QQ邮箱开通权限 看图

测试


package net.lzzy.text;


import net.lzzy.utils.EmailUtil;


public class T {


public static void main(String[] args) {   
// 123456  验证码 ***@qq.com邮箱  
//注意发送邮件用户需要去QQ邮箱开通权限
    EmailUtil.sendQQMail1("***@qq.com", "123456");

}




}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值