import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import java.util.Properties;
import javax.mail.Session;
import javax.mail.internet.MimeMessage;
import javax.mail.Message;
import javax.mail.internet.MimeBodyPart;
import javax.activation.FileDataSource;
import javax.mail.Multipart;
import javax.mail.internet.MimeMultipart;
import javax.activation.DataHandler;
public class MsgsendService {
private String host = "";
private String user = "";
private String password = "";
public void setHost(String host) {
this.host = host;
}
public void setAccount(String user, String password) {
this.user = user;
this.password = password;
}
public void Msgmultisend(String from, String to, String subject,
String content) {
Properties props = new Properties();
props.put("mail.smtp.host", host); //指定SMTP服务器
props.put("mail.smtp.auth", "true"); //指定是否需要SMTP验证
try {
Session mailSession = Session.getInstance(props, null);
mailSession.setDebug(true); //是否在控制台显示debug信息
MimeMessage message = new MimeMessage(mailSession);
message.setFrom(new InternetAddress(from)); //发件人
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(to));
message.setSubject(subject); //邮件主题
message.setText(content); //邮件内容
message.saveChanges();
Transport transport = mailSession.getTransport("smtp");
transport.connect(host, user, password);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
} catch (Exception e) {
System.out.println(e);
}
}
public void Msgmultisendfile(String from, String to, String subject,
String content, String filename) {
Properties props = new Properties();
props.put("mail.smtp.host", host); //指定SMTP服务器
props.put("mail.smtp.auth", "true"); //指定是否需要SMTP验证
try {
Session mailSession = Session.getInstance(props, null);
mailSession.setDebug(true); //是否在控制台显示debug信息
MimeMessage message = new MimeMessage(mailSession);
MimeBodyPart textBodyPart = new MimeBodyPart();
textBodyPart.setText(content);
MimeBodyPart fileBodyPart = new MimeBodyPart();
FileDataSource fds = new FileDataSource(filename);
fileBodyPart.setDataHandler(new DataHandler(fds));
fileBodyPart.setFileName(fds.getName());
Multipart container = new MimeMultipart();
container.addBodyPart(textBodyPart);
container.addBodyPart(fileBodyPart);
message.setSubject(subject);
message.setContent(container);
message.setFrom(new InternetAddress(from));
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(to));
message.saveChanges();
Transport transport = mailSession.getTransport("smtp");
transport.connect(host, user, password);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
} catch (Exception e) {
System.out.println(e);
}
}
public void Msgsend(String from, String to, String subject, String content) {
Properties props = new Properties();
props.put("mail.smtp.host", host); //指定SMTP服务器
props.put("mail.smtp.auth", "true"); //指定是否需要SMTP验证
try {
Session mailSession = Session.getDefaultInstance(props);
mailSession.setDebug(true); //是否在控制台显示debug信息
Message message = new MimeMessage(mailSession);
message.setFrom(new InternetAddress(from)); //发件人
message.addRecipient(Message.RecipientType.TO,
new InternetAddress(to)); //收件人
message.setSubject(subject); //邮件主题
message.setText(content); //邮件内容
message.saveChanges();
Transport transport = mailSession.getTransport("smtp");
transport.connect(host, user, password);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
} catch (Exception e) {
System.out.println(e);
}
}
public void Msgsendfile(String from, String to, String subject,
String content, String filename) {
Properties props = new Properties();
props.put("mail.smtp.host", host); //指定SMTP服务器
props.put("mail.smtp.auth", "true"); //指定是否需要SMTP验证
try {
Session mailSession = Session.getDefaultInstance(props);
mailSession.setDebug(true); //是否在控制台显示debug信息
MimeMessage message = new MimeMessage(mailSession);
MimeBodyPart textBodyPart = new MimeBodyPart();
textBodyPart.setText(content);
MimeBodyPart fileBodyPart = new MimeBodyPart();
FileDataSource fds = new FileDataSource(filename);
fileBodyPart.setDataHandler(new DataHandler(fds));
fileBodyPart.setFileName(fds.getName());
Multipart container = new MimeMultipart();
container.addBodyPart(textBodyPart);
container.addBodyPart(fileBodyPart);
message.setSubject(subject);
message.setContent(container);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO,
new InternetAddress(to));
message.saveChanges();
Transport transport = mailSession.getTransport("smtp");
transport.connect(host, user, password);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
} catch (Exception e) {
System.out.println(e);
}
}
public static void main(String args[]) {
MsgsendService sm = new MsgsendService();
sm.setHost("smtp.163.com"); //指定要使用的邮件服务器
sm.setAccount("txy_821", "*********"); //指定帐号和密码
sm.Msgmultisendfile("txy_821@163.com",
"txy_821@163.com,396668361@qq.com",
"mose测试ing", "无语!",
"C:\\Documents and Settings\\mos\\桌面\\1233.jpg");
}
}