package email;
import java.io.File;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.Message.RecipientType;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
public class Email {
public static void main(String[] args) {
if (args.length < 4) {
return;
}
//
//parameter 1:email address
//e.g a@163.com,b@163.com
//parameter 2:the path of attachment
//parameter 3:email context
//parameter 3:email title
//
Email email = new Email();
email.CreateEmail(args);
}
public void CreateEmail(String[] args) {
try {
Properties properties = new Properties();
// properties.setProperty("mail.smtp.auth", "true");
properties.setProperty("mail.transport.protocol", "smtp");
properties.setProperty("mail.smtp.host", "server");
properties.setProperty("mail.smtp.port", "25");
Session session = Session.getInstance(properties, null);
session.setDebug(false);
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("My Service <noreply@xxx.com>"));
message.setSubject(args[3]);
message.setRecipients(RecipientType.TO,InternetAddress.parse(args[0]));
MimeBodyPart bodyPartAttch = createAttachMent(args[1]);
MimeBodyPart bodyPartContentAndPic = createContent(args[2]);
MimeMultipart mimeMuti = new MimeMultipart("mixed");
mimeMuti.addBodyPart(bodyPartAttch);
mimeMuti.addBodyPart(bodyPartContentAndPic);
message.setContent(mimeMuti);
message.saveChanges();
Transport.send(message);
} catch (MessagingException e) {
e.printStackTrace();
System.out.println("Email List:"+args[0]);
System.out.println("Attachment Path:"+args[1]);
System.out.println("Content:"+args[2]);
}
}
public MimeBodyPart createAttachMent(String path) throws MessagingException {
MimeBodyPart mimeBodyPart = new MimeBodyPart();
FileDataSource dataSource = new FileDataSource(new File(path));
mimeBodyPart.setDataHandler(new DataHandler(dataSource));
mimeBodyPart.setFileName(dataSource.getName());
return mimeBodyPart;
}
public MimeBodyPart createContent(String content) throws MessagingException {
MimeMultipart mimeMutiPart = new MimeMultipart("related");
MimeBodyPart contentBodyPart = new MimeBodyPart();
contentBodyPart.setContent("<br> </br><br>" + content + "</br>",
"text/html;charset=gbk");
mimeMutiPart.addBodyPart(contentBodyPart);
MimeBodyPart allBodyPart = new MimeBodyPart();
allBodyPart.setContent(mimeMutiPart);
return allBodyPart;
}
}
通过SMTP发邮件
最新推荐文章于 2023-02-08 10:53:34 发布