n-3104の備忘録
メール送信
最終更新:
n-3104
-
view
メール送信
以下のコードでローカルのIISのSMTP仮想サーバーにメールを送信できた。JavaでHelloWorldの内容をそのままコピーしただけだが。。
ちなみに、activation.jarとmail.jarはTomcatのcommon/libからコピーしたもので問題なく動く。
ちなみに、activation.jarとmail.jarはTomcatのcommon/libからコピーしたもので問題なく動く。
import java.util.Properties; import java.util.Date; import javax.mail.Session; import javax.mail.Message; import javax.mail.Transport; import javax.mail.internet.MimeMessage; import javax.mail.internet.InternetAddress; public class MailSender { public static void main(String[] args) { try { Properties props = System.getProperties(); // SMTPサーバーのアドレスを指定 props.put("mail.smtp.host", "送信先サーバー名"); Session session = Session.getDefaultInstance(props, null); MimeMessage mimeMessage = new MimeMessage(session); // 送信元メールアドレスと送信者名を指定 mimeMessage.setFrom(new InternetAddress("メールアドレス", "名前", "iso-2022-jp")); // 送信先メールアドレスを指定 mimeMessage.setRecipients(Message.RecipientType.TO, "メールアドレス"); // メールのタイトルを指定 mimeMessage.setSubject("件名", "iso-2022-jp"); // メールの内容を指定 mimeMessage.setText("本文", "iso-2022-jp"); // メールの形式を指定 mimeMessage.setHeader("Content-Type", "text/html"); // 送信日付を指定 mimeMessage.setSentDate(new Date()); // 送信します Transport.send(mimeMessage); } catch (Exception e) { e.printStackTrace(); } } }
IISの仮想SMTPサーバー
WindowsXPのHomeEdition以外はIISの仮想SMTPサーバーを利用できる。中継の制限を外せば、外部のメールサーバーにも転送してくれた。