import java.io.File;
import java.io.UnsupportedEncodingException;
import java.util.Properties;
import javax.mail.MessagingException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
//import org.springframework.mail.SimpleMailMessage;
import org.springframework.core.io.FileSystemResource;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
//import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.MailSender;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.util.StringUtils;
public class SendMail {
public static void main(String args[]) throws MessagingException{
//創建郵件發送類 JavaMailSender
//用於發送基本的文本郵件信息(不能包括附件,及圖片)
JavaMailSenderImpl sender = new JavaMailSenderImpl();
//java InstallCert smtp.office365.com:465
//java InstallCert outlook.office365.com:995
//設置郵件服務主機
((JavaMailSenderImpl)sender).setHost("smtp.mxhichina.com");
//((JavaMailSenderImpl)sender).setHost("outlook.office365.com");
//發送者郵箱的用戶名
((JavaMailSenderImpl)sender).setUsername("[email protected]");
//發送者郵箱的密碼
((JavaMailSenderImpl)sender).setPassword("****");
//配置文件,用於實例化java.mail.session
Properties pro = System.getProperties();
//登錄SMTP服務器,需要獲得授權,網易163郵箱新近註冊的郵箱均不能授權。
//測試 sohu 的郵箱可以獲得授權
//pro.put("mail.smtp.starttls.enable", "true");
pro.setProperty("mail.debug", "true");
pro.put("mail.smtp.auth", "true");
//pro.put("mail.smtp.socketFactory.port", "995");
pro.put("mail.smtp.socketFactory.port", "25");
//pro.put("mail.smtp.socketFactory.fallback", "false");
//通過文件獲取信息
((JavaMailSenderImpl)sender).setJavaMailProperties(pro);
//創建基本郵件信息
SimpleMailMessage mailMessage = new SimpleMailMessage();
//發送者地址,必須填寫正確的郵件格式,否者會發送失敗
mailMessage.setFrom("[email protected]");
//郵件主題
//建立郵件訊息
MimeMessage mimeMessage = sender.createMimeMessage();
MimeMessageHelper messageHelper=null;
messageHelper = new MimeMessageHelper( mimeMessage, true, "utf-8");
messageHelper.setFrom("[email protected]");//使用這種方式是,使用wireshark檢查末尾多了\r>\r\n ,程序提示500 Error: bad syntax,無效地址
//messageHelper.setFrom(new InternetAddress("[email protected]"));
//設定收件人、寄件人、主題與內文
//郵件主題
if (args.length>=3){
//郵件接收者的郵箱地址
messageHelper.setTo(args[0]);
messageHelper.setSubject(args[1]);
//郵件內容,簡單的郵件信息只能添加文本信息
messageHelper.setText(args[2]);
}else{
//郵件接收者的郵箱地址
messageHelper.setTo("[email protected]"); //使用這種方式是,使用wireshark檢查末尾多了\r>\r\n ,程序提示500 Error: bad syntax,無效地址
//messageHelper.setTo(new InternetAddress("[email protected]"));
messageHelper.setSubject("test22");
//郵件內容,簡單的郵件信息只能添加文本信息
messageHelper.setText("test。");
}
// //編碼發件人
// try {
// messageHelper.setFrom( msg.getFrom(), PERSONAL_CN);
// } catch (UnsupportedEncodingException e) {
// messageHelper.setFrom( PERSONAL_EN + msg.getFrom());
// }
// /* 添加附件 */
// String[] filePath=null;
// File[] attachments=null;
// if (args.length>=4){
// filePath=args[3].split(",");
// attachments=new File[filePath.length];
// for (int i = 0; i < filePath.length; i++) {
// attachments[i]=new File(filePath[i]);
// }
// }else{
// attachments=new File[1];
// attachments[0]=new File("c:/as.txt");
// }
// sun.misc.BASE64Encoder base64 = new sun.misc.BASE64Encoder();
// String attName = null;
// for (int i = 0; i < attachments.length; i++) {
//// if (attachmentNames == null) {
//// attName = attachments[i].getName();
//// } else {
//// attName = attachmentNames[i];
//// }
// attName = attachments[i].getName();
// attName = "=?GBK?B?" + base64.encode( attName.getBytes()) + "?=";
//
// messageHelper.addAttachment( attName, new FileSystemResource(attachments[i]));
// }
sender.send( mimeMessage);
}
public static void main33(String args[]){
//創建郵件發送類 JavaMailSender
//用於發送基本的文本郵件信息(不能包括附件,及圖片)
MailSender sender = new JavaMailSenderImpl();
//設置郵件服務主機
((JavaMailSenderImpl)sender).setHost("smtp.mxhichina.com");
//發送者郵箱的用戶名
((JavaMailSenderImpl)sender).setUsername("liguocai");
//發送者郵箱的密碼
((JavaMailSenderImpl)sender).setPassword("Amindao2");
//配置文件,用於實例化java.mail.session
Properties pro = System.getProperties();
//登錄SMTP服務器,需要獲得授權,網易163郵箱新近註冊的郵箱均不能授權。
//測試 sohu 的郵箱可以獲得授權
pro.put("mail.smtp.auth", "true");
pro.put("mail.smtp.socketFactory.port", "25");
pro.put("mail.smtp.socketFactory.fallback", "false");
//通過文件獲取信息
((JavaMailSenderImpl)sender).setJavaMailProperties(pro);
//創建基本郵件信息
SimpleMailMessage mailMessage = new SimpleMailMessage();
//發送者地址,必須填寫正確的郵件格式,否者會發送失敗
mailMessage.setFrom("[email protected]");
//郵件主題
if (args.length==3){
//郵件接收者的郵箱地址
mailMessage.setTo(args[0]);
mailMessage.setSubject(args[1]);
//郵件內容,簡單的郵件信息只能添加文本信息
mailMessage.setText(args[2]);
}else{
//郵件接收者的郵箱地址
mailMessage.setTo("[email protected]");
mailMessage.setSubject("測試郵件");
//郵件內容,簡單的郵件信息只能添加文本信息
mailMessage.setText("測試");
}
//發送郵件,參數可以是數組
//sender.send(SimpleMailMessage[])
sender.send(mailMessage);
//MessagingException t;
//sender.send(mailMessage);
//sender.send((SimpleMailMessage)mailMessage);
}
}
<classpathentry kind="lib" path="lib/activation-1.0.jar"/>
<classpathentry kind="lib" path="lib/commons-logging.jar"/>
<classpathentry kind="lib" path="lib/spring-1.0.jar"/>
<classpathentry kind="lib" path="lib/mail-1.0.jar"/>