📄 mailsend.java
字号:
package SendMail;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.Multipart;
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;
/**
* @author Administrator
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class MailSend {
private static String UserName;
private static String PassWord;
private static MimeMessage mimeMsg;
private static Session session;
private static Properties props;
private static Multipart mp;
public MailSend() {
}
public static void setSmtpHost(String hostName) {
System.out.println(System.currentTimeMillis()+"设置系统属性:mail.smtp.host = "+hostName);
if(props == null) props = System.getProperties();
props.put("mail.smtp.host",hostName);
}
/**
* @return boolean
*/
public static boolean createMimeMessage() {
try {
System.out.println(System.currentTimeMillis()+"准备获取邮件会话对象!");
session = Session.getDefaultInstance(props,null);
} catch(Exception e){
System.err.println(System.currentTimeMillis()+"获取邮件会话对象时发生错误!"+e);
return false;
}
System.out.println(System.currentTimeMillis()+"准备创建MIME邮件对象!");
try{
mimeMsg = new MimeMessage(session);
mp = new MimeMultipart();
return true;
} catch(Exception e){
System.err.println(System.currentTimeMillis()+"创建MIME邮件对象失败!"+e);
return false;
}
}
/**
* @param need boolean
*/
public static void setNeedAuth(boolean need) {
System.out.println(System.currentTimeMillis()+"设置smtp身份认证:mail.smtp.auth = "+need);
if( props == null ) props = System.getProperties();
if ( need ) {
props.put("mail.smtp.auth","true");
} else {
props.put("mail.smtp.auth","false");
}
}
/**
* @param name String
* @param pass String
*/
public static void setNamePass(String name,String pass) {
UserName = name;
PassWord = pass;
}
/**
* @param mailSubject String
* @return boolean
*/
public static boolean setSubject(String mailSubject) {
System.out.println(System.currentTimeMillis()+"设置邮件主题!");
try{
mimeMsg.setSubject(mailSubject);
return true;
} catch(Exception e) {
System.err.println(System.currentTimeMillis()+"设置邮件主题发生错误!");
return false;
}
}
/**
* @param mailBody String
*/
public static boolean setBody(String mailBody) {
try{
BodyPart bp = new MimeBodyPart();
bp.setContent("<meta http-equiv=Content-Type content=text/html; charset=gb2312>"+mailBody,"text/html;charset=GB2312");
mp.addBodyPart(bp);
return true;
} catch(Exception e){
System.err.println(System.currentTimeMillis()+"设置邮件正文时发生错误!"+e);
return false;
}
}
/**
* @param name String
* @param pass String
*/
public static boolean addFileAffix(String filename) {
System.out.println(System.currentTimeMillis()+"增加邮件附件:"+filename);
try{
BodyPart bp = new MimeBodyPart();
FileDataSource fileds = new FileDataSource(filename);
bp.setDataHandler(new DataHandler(fileds));
bp.setFileName(fileds.getName());
mp.addBodyPart(bp);
return true;
} catch(Exception e){
System.err.println(System.currentTimeMillis()+"增加邮件附件:"+filename+"发生错误!"+e);
return false;
}
}
/**
* @param name String
* @param pass String
*/
public static boolean setFrom(String from) {
System.out.println(System.currentTimeMillis()+"设置发信人!");
try{
mimeMsg.setFrom(new InternetAddress(from)); //设置发信人
return true;
} catch(Exception e) {
return false;
}
}
/**
* @param name String
* @param pass String
*/
public static boolean setTo(String to){
if(to == null)return false;
try {
mimeMsg.setRecipients(Message.RecipientType.TO,InternetAddress.parse(to));
return true;
} catch(Exception e){
return false;
}
}
/**
* @param name String
* @param pass String
*/
/*public static boolean setCopyTo(String copyto) {
if(copyto == null)return false;
try{
mimeMsg.setRecipients(Message.RecipientType.CC,(Address[])InternetAddress.parse(copyto));
return true;
} catch(Exception e) {
return false;
}
}*/
public static boolean sendout() {
try{
mimeMsg.setContent(mp);
mimeMsg.saveChanges();
System.out.println(System.currentTimeMillis()+"正在发送邮件....");
Session mailSession = Session.getInstance(props,null);
Transport transport = mailSession.getTransport("smtp");
transport.connect((String)props.get("mail.smtp.host"),UserName,PassWord);
//transport.sendMessage(mimeMsg,mimeMsg.getAllRecipients());
transport.sendMessage(mimeMsg,mimeMsg.getRecipients(Message.RecipientType.TO));
//transport.send(mimeMsg);
System.out.println(System.currentTimeMillis()+"发送邮件成功!");
transport.close();
return true;
} catch(Exception e) {
System.err.println(System.currentTimeMillis()+"邮件发送失败!"+e);
return false;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -