0
ローカルホストで実行している場合、Webアプリケーションから電子メールを送信できますが、リモートホストに展開するとできません。 どうすれば確認できますか?ローカルホストから送信されたメールはオンラインホストから送信できません
私はそれがJavaの問題ではないかもしれないが、誰かがそれを理解できることを願っています。
public void send() {
new Thread(new Runnable() {
@Override
public void run() {
Properties props = System.getProperties();
props.put("mail.smtp.host", "103.20.XXX.XXX");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "25");
Session mailSession = Session.getDefaultInstance(props, null);
//mailSession.setDebug(true);
try {
Message mailMessage = new MimeMessage(mailSession);
mailMessage.setFrom(new InternetAddress(msgFrom, username));
mailMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(msgTo));
mailMessage.setSubject(msgSubject);
mailMessage.setContent(msgBody, "text/html; charset=utf-8");
Transport transport = mailSession.getTransport("smtp");
transport.connect("103.20.XXX.XXX", username, password);
transport.sendMessage(mailMessage, mailMessage.getAllRecipients());
transport.close();
} catch (MessagingException | UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}).start();
}
シェアログのトレース –
ファイアウォールを確認してください – SpringLearner
ファイアウォール/アクセスに関連する問題があるようです。 リモートホストからポート25のsmtpサーバにtelnet接続しようとすることができます(端末/ sshアクセスがある場合)。リモートホストにも依存関係がない可能性があります。ダークナイトのように、ログトレースも共有してください。 – Henkealg