java发送邮件设置邮件头的MessageId解决办法,发送邮件代码,u-mail的...
哈师大附中
java发送邮件设置邮件头的MessageId解决办法,发送邮件代码,u-mail的⽰例
代码
护士长年度工作总结业务描述:使⽤U-Mail进⾏邮件的发送,需要⾃定义任务标识,⽤于更新本地邮件的发送状态
说明:直接使⽤setHeader()是失效的
解决⽅式:
寒衣节里寄哀思public class MyMimeMessage extends MimeMessage {
public MyMimeMessage(Session session){
super(session);
}
@Override
protected void updateMessageID()throws MessagingException {
if(getHeader("Message-Id")==null){
super.updateMessageID();
}
}
使⽤⽅式:
// 根据 session 创建⼀个邮件消息
// Message mailMessage = new MimeMessage(sendMailSession);
Message mailMessage =new MyMimeMessage(sendMailSession);
// 将 MiniMultipart 对象设置为邮件内容
mailMessage.setContent(mainPart);
mailMessage.setHeader("Message-Id","<20120202163547-{T:"+ MessagId()+"}-3FEB0560@domain>");//设置任务标识
mailMessage.setHeader("Umail-Track","Click");//设置开启打开和点击统计
U-mail,java发送邮件的⽰例
第⼀步:引⼊依赖的 jar 包
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.5.6</version>
</dependency>
第⼆步:实体类介绍(可以直接复制,账号替换为客服分配的 smtp 账号即可)邮件参数实体
import List;
import Properties;
import MailSSLSocketFactory;
发送参数
package message.bean;
import com.sun.mail.util.MailSSLSocketFactory;
import java.util.List;
import java.util.Properties;
**
* 邮件发送配置参数信息
* @ClassName: MailSenderInfo
* @Description: TODO
*/
public class MailSenderInfo {
// 发送邮件的服务器的 IP
private String mailServerHost;
//发送邮件的服务器端⼝,该处暂时默认25
private String mailServerPort ="25";
// 邮件发送者的地址
private String fromAddress;
// 邮件接收者的地址
private String toAddress;
//邮件接收者的地址集合
private String[] toBatchAddress;
/
/发件⼈昵称
private String nickname;
//邮件附带参数,暂时为接收者姓名
private String toBatchName;
// 登陆邮件发送服务器的⽤户名
private String userName;
//登陆邮件发送服务器的密码
private String password;
// 是否需要⾝份验证[默认false不认证]
private boolean validate =false;
// 邮件主题
private String subject;
// 邮件主题
private String[] subjects;
// 邮件的⽂本内容
private String content;
// 邮件的⽂本内容
private String[] contents;
// 邮件附件的⽂件名
private String[] attachFileNames;
// 邮件附件的⽂件名针对⼀邮件带多个附件关系
private List<String[]> attachFileList;
/
/邮建任务唯⼀标识
private  String  messagId;
public String getMessagId(){
return messagId;
}
public void setMessagId(String messagId){
}
public String getNickname(){
return nickname;
}
public void setNickname(String nickname){
this.nickname = nickname;
}
public String getToBatchName(){
return toBatchName;
}
public void setToBatchName(String toBatchName){        BatchName = toBatchName;
public Properties getProperties(){
Properties p = new Properties();
try {
p.put("mail.smtp.host", this.mailServerHost);
p.put("mail.smtp.port", this.mailServerPort);
p.put("mail.smtp.auth", validate ? "true":"false");
p.setProperty("ansport.protocol", "smtp");
if("smtp.qq".equals(this.mailServerHost)){
MailSSLSocketFactory sf = new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
p.put("mail.able", "true");
p.put("mail.smtp.ssl.socketFactory", sf);
炖鸡块的做法大全
}
} catch (Exception e){
e.printStackTrace();
}
return p;
}
/**
* 发送邮件的服务器的 IP  如:
*/
public String getMailServerHost(){
return mailServerHost;
}
/**
* 发送邮件的服务器的 IP  如:
*/
public void setMailServerHost(String mailServerHost){
this.mailServerHost = mailServerHost;
}
/**
* 发送邮件的服务器端⼝,如:umail 默认25
*/
public String getMailServerPort(){
return mailServerPort;
}
/**
* 发送邮件的服务器端⼝,如:⽹易邮箱默认25
*/
public void setMailServerPort(String mailServerPort){
this.mailServerPort = mailServerPort;
}
/**
* 是否需要⾝份验证[默认false不认证]
*/
public boolean isValidate(){
return validate;
}
/
**
* 是否需要⾝份验证[默认false不认证]
*/
public void setValidate(boolean validate){
this.validate = validate;
public String[]getAttachFileNames(){
return attachFileNames;
}
/**
* 邮件附件的⽂件名
*/
public void setAttachFileNames(String[] fileNames){        this.attachFileNames = fileNames;
}
/**
* 邮件发送者的邮箱地址
*/
public String getFromAddress(){
return fromAddress;
}
/**
* 邮件发送者的邮箱地址
*/
public void setFromAddress(String fromAddress){        this.fromAddress = fromAddress;
炒香干}
/**
* 邮件发送者的邮箱密码
*/
public String getPassword(){
return password;
}
/**
* 邮件发送者的邮箱密码
*/
public void setPassword(String password){
this.password = password;
}
/**
* 邮件接收者的地址
*/
public String getToAddress(){
return toAddress;
}
/**
* 邮件接收者的地址
*/
public void setToAddress(String toAddress){
}
/**
* 邮件接收者的地址集合
*
* @return
*/
public String[]getToBatchAddress(){
return toBatchAddress;
* 邮件接收者的地址集合
*
* @param toBatchAddress
*/
public void setToBatchAddress(String[] toBatchAddress){        BatchAddress = toBatchAddress;
}
/**
* 登陆邮件发送服务器的⽤户名
*/
public String getUserName(){
return userName;
}
/**
* 登陆邮件发送服务器的⽤户名
*/
public void setUserName(String userName){
this.userName = userName;
}
/**
* 邮件主题
*/
public String getSubject(){
return subject;
}
/**
* 邮件主题
*/
public void setSubject(String subject){
this.subject = subject;
}
/**
* 邮件主题
*/
public String[]getSubjects(){
return subjects;
}
/**
* 邮件主题
*/
public void setSubjects(String[] subjects){
this.subjects = subjects;
}
/**
* 邮件的⽂本内容
*/
public String getContent(){
return content;
}
/**
* 邮件的⽂本内容
*/邮箱发
public void setContent(String textContent){

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。