localhost から gmail や yahoo などの外部アカウントにメールを送信する必要があります。現在、ローカル電子メールサーバーを起動して実行することにより、ローカルドメインからメールを送受信できるプログラムがあります(admin@ib-status.com <-> devteam@ib-status.com)。しかし、問題は、ローカル ドメインから gmail または yahoo アカウントに送信しようとすると、送信できないことです (例: admin@ib-status.com -> myaccount@gmail.com)。これについて助けが必要
PS。メールサーバーに Hmailserver を使用しています
public class JMailer {
private static String HOSTNAME = "localhost";
private static String USERNAME = "admin";
private static String PASSWORD = "Mylocaldomainpassword";
public static void main(String[] args) {
try {
String to = "MygmailAccount@gmail.com";
String from = "admin@ib-status.com";
Properties properties = System.getProperties();
properties.setProperty("mail.smtp.host",HOSTNAME);
Session session = Session.getInstance(properties, new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(USERNAME, PASSWORD);
}
});
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject("My Subject!");
message.setText("Here Goes My Message");
Transport.send(message);
System.out.println("Message Sending Completed");
} catch (MessagingException mex) {
mex.printStackTrace();
}
}
}
Hmailserverログからの私のエラーは以下です
"SMTPC" 4508 0 "2014-06-13 15:18:01.022" "TCP" "SMTPDeliverer - メッセージ 13 - 接続に失敗しました: ホスト名: 74.125.25.27、メッセージ:ターゲット マシンがアクティブに拒否したため、接続できませんでした"
ここで何か見逃しましたか?リモート マシンの接続が拒否されるのはなぜですか? メッセージの送信に gmail の SMTP サーバーを使用したくない