关于java发送邮件的问题

我使用qq服务发送邮件的,这之前需要打开pop服务并且获取授权码,如何打开并获取可百度

导包:


java文件:

package crm.java.jobs;



import java.util.List;
import java.util.Properties;


import javax.annotation.Resource;
import javax.mail.Authenticator;
import javax.mail.Message.RecipientType;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;


import com.sun.mail.util.MailSSLSocketFactory;


import crm.java.mapper.QpWorkbillMapper;
import crm.java.pojo.QpWorkbill;

public class MailJob {
@Resource
private QpWorkbillMapper qpWorkbillMapper;


private String username;
private String password;
private String smtpServer;


public String getUsername() {
return username;
}


public void setUsername(String username) {
this.username = username;
}


public String getPassword() {
return password;
}


public void setPassword(String password) {
this.password = password;
}


public void execute() {
try {
//查询工单类型为新单的所有工单
List<QpWorkbill> list = qpWorkbillMapper.findNewWorkbills();
MailSSLSocketFactory sf = new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
if(null != list && list.size() > 0){
final Properties mailProps = new Properties();
mailProps.put("mail.smtp.host", this.getSmtpServer());
mailProps.put("mail.smtp.auth", "true");
mailProps.put("mail.smtp.ssl.enable", "true");
mailProps.put("mail.smtp.ssl.socketFactory", sf);
mailProps.put("mail.username", this.getUsername());
mailProps.put("mail.password", this.getPassword());


// 构建授权信息,用于进行SMTP进行身份验证
Authenticator authenticator = new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
// 用户名、密码
String userName = mailProps.getProperty("mail.username");
String password = mailProps.getProperty("mail.password");
return new PasswordAuthentication(userName, password);
}
};
// 使用环境属性和授权信息,创建邮件会话
Session mailSession = Session.getInstance(mailProps, authenticator);
for(QpWorkbill workbill : list){
// 创建邮件消息
MimeMessage message = new MimeMessage(mailSession);
// 设置发件人
InternetAddress from = new InternetAddress(mailProps.getProperty("mail.username"));
message.setFrom(from);
// 设置收件人
InternetAddress to = new InternetAddress("1870840630@qq.com");
message.setRecipient(RecipientType.TO, to);
// 设置邮件标题
message.setSubject("系统邮件:新单通知");
// 设置邮件的内容体
message.setContent(workbill.toString(), "text/html;charset=UTF-8");
// 发送邮件
Transport.send(message);
workbill.setPickstate(QpWorkbill.PICKSTATE_RUNNING);
qpWorkbillMapper.updateByPrimaryKeySelective(workbill);
}
}
} catch (Exception ex) {
ex.printStackTrace();
}
}


public String getSmtpServer() {
return smtpServer;
}


public void setSmtpServer(String smtpServer) {
this.smtpServer = smtpServer;
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值