package xxxx.service.mail;
import java.util.Date;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeBodyPart;
public class SendInfoMail {
public String send(
String fromAddress,
String fromName,
String toAddress,
String ccAddress,
String bccAddress,
String infoTitle,
String infoText,
String filePath,
String fileName
) throws Exception {
Properties objPrp = new Properties();
objPrp.put("mail.smtp.host","SMTPサーバ名");
Session session = Session.getDefaultInstance(objPrp, null);
MimeMessage mimeMessage = new MimeMessage(session);
if (!Util.isEmpty(fromAddress)) {
mimeMessage.setFrom(new InternetAddress(fromAddress, fromName,
("iso-2022-jp")));
}
if (!Util.isEmpty(toAddress)) {
mimeMessage.setRecipients(Message.RecipientType.TO,
toAddress);
}
if (!Util.isEmpty(ccAddress)) {
mimeMessage.setRecipients(Message.RecipientType.CC,
ccAddress);
}
if (!Util.isEmpty(bccAddress)) {
mimeMessage.setRecipients(Message.RecipientType.BCC,
bccAddress);
}
if (!Util.isEmpty(infoTitle)) {
mimeMessage.setSubject(infoTitle, "iso-2022-jp");
}
mimeMessage.setSentDate(new Date());
MimeMultipart multipart = new MimeMultipart();
MimeBodyPart bodyText = new MimeBodyPart();
if (Util.isEmpty(infoText)){
bodyText.setText("本文なし", "iso-2022-jp");
}
else{
bodyText.setText(infoText, "iso-2022-jp");
}
multipart.addBodyPart(bodyText);
if (!Util.isEmpty(filePath)){
MimeBodyPart bodyAtt = new MimeBodyPart();
DataSource dataSource = new FileDataSource(filePath);
DataHandler dataHandler = new DataHandler(dataSource);
bodyAtt.setDataHandler(dataHandler);
if (Util.isEmpty(fileName)){
bodyAtt.setFileName("attached file");
}
else{
bodyAtt.setFileName(fileName);
}
multipart.addBodyPart(bodyAtt);
}
mimeMessage.setContent(multipart);
Transport.send(mimeMessage);
return null;
}
}