Sunが提供するJavaMail APIを使用する場合は、Sun Downloadsから最新のAPIを入手できます。.
JavaMailでは、プロパティを使用してすべての設定をプログラムに読み込みます。.
以下を指定する必要があります:
# SMTPサーバーのホスト名またはIPアドレス
mail.smtp.host=smtp.duke.java.sun.com
# 次の条件を満たすと、多くのデバッグ情報が得られます。
# これは有効になっています。無効にするには、この行をコメントアウトしてください。
#でそれをオフにする。.
mail.debug=true
# 宛先メールアドレス
ttapr2004.to=duke@duke.java.sun.com
# 差出人のメールアドレス
ttapr2004.from=duke@j2ee_fanclub.java.su…
SMTPサーバーには、認証なしで簡単に接続できます。しかし、Javaプログラムからメールを送信できないという状況に遭遇する可能性があります:
1. ファイアウォールによって、あなたのIPアドレスがブロックされている可能性があります。 SMTPサーバーへのアクセス
2. あなたのSMTPサーバーは、送信者のアドレス、宛先アドレス、場合によってはあなたのIPアドレスをブロックしています。.
3. お使いのSMTPサーバーでは認証が必要です
サーバーで認証が必要な場合、この情報はインターネットから取得しました
————————————–…
public class 認証を使用したメール送信 {
private static final String SMTP_HOST_NAME = "myserver.smtphost.com";
private static final String SMTP_AUTH_USER = "myusername";
private static final String SMTP_AUTH_PWD = "mypwd";
private static final String emailMsgTxt =
"「オンライン注文の確認メッセージ。追跡番号も記載してください。」;
private static final String emailSubjectTxt = "注文確認の件名";
private static final String emailFromAddress = "sudhir@javacommerce.com";
// メールの送信先となるメールアドレスのリストを追加する
private static final String[] emailList = {
"mark@yahoo.com", "robin@javacommerce.com"};
public static void main(String args[]) throws Exception {
SendMailUsingAuthentication smtpMailSender = new
SendMailUsingAuthentication();
smtpMailSender.postMail(emailList, emailSubjectTxt, emailMsgTxt,
emailFromAddress);
System.out.println("すべてのユーザーにメールを正常に送信しました");
}
public void postMail(String recipients[], String subject,
String message, String from) throws MessagingException {
boolean debug = false;
//SMTPホストアドレスを設定する
Properties props = new Properties();
props.put("mail.smtp.host", SMTP_HOST_NAME);
props.put("mail.smtp.auth", "true");;
Authenticator auth = new SMTPAuthenticator();
Session session = Session.getDefaultInstance(props, auth);
session.setDebug(debug);
// メッセージを作成する
メッセージ msg = new MimeMessage(session);;
// 送信元アドレスと宛先アドレスを設定する
InternetAddress addressFrom = new InternetAddress(from);
msg.setFrom(addressFrom);
InternetAddress[] addressTo = new InternetAddress[recipients.length];
for (int i = 0; i < recipients.length; i++) {
addressTo[i] = new InternetAddress(recipients[i]);
}
msg.setRecipients(Message.RecipientType…. addressTo);
// 件名とコンテンツタイプの設定
msg.setSubject(subject);;
msg.setContent(message, "text/plain");
Transport.send(msg);;
}
/**
* SimpleAuthenticator は、簡易認証を行うために使用されます
* SMTPサーバーで必要とされる場合。.
*/
private class SMTPAuthenticator
javax.mail.Authenticator を拡張する {
public PasswordAuthentication getPasswordAuthentication() {
String username = SMTP_AUTH_USER;
String password = SMTP_AUTH_PWD;
新しいPasswordAuthentication(username, password)を返す;;
}
}
}
————————————–…
免責事項 - 本記事で述べられている見解は第三者によって提供されたものであり、当サイトの見解とは異なる場合があります。
