SMTPを使用して電子メールを送信しようとしています。 ローカルでうまく動作します。しかし、AWS EC2サーバーで構築した場合は機能しません。AWS EC2からSMTPメールを送信できません
これは設定してメールを送信するためのコードです。
私のための任意のアイデアですか?
try{
Properties props = System.getProperties();
props.put("mail.smtp.starttls.enable",true);
props.put("mail.smtp.host","smtp.gmail.com");
props.put("mail.smtp.user","[email protected]");
props.put("mail.smtp.password","testpassword");
props.put("mail.smtp.port","587");
props.put("mail.smtp.auth",true);
props.put("mail.smtp.ssl.trust", "*");
String[] to = {toEmail};
Session session = Session.getDefaultInstance(props, null);
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress("[email protected]"));
InternetAddress[] toAddress = new InternetAddress[to.length];
// To get the array of addresses
for(int i=0; i < to.length; i++) { // changed from a while loop
toAddress[i] = new InternetAddress(to[i]);
}
System.out.println("EMAIL TO:"+toEmail);
for(int i=0; i < toAddress.length; i++) { // changed from a while loop
message.addRecipient(Message.RecipientType.TO, toAddress[i]);
}
message.setSubject(subject);
message.setText(content);
Transport transport = session.getTransport("smtp");
transport.connect("smtp.gmail.com","[email protected]","testpassword");
transport.sendMessage(message, message.getAllRecipients());
transport.close();
}
catch(Exception ex){
log.debug("send Email failed", ex);
}
AWSのサポートを依頼してみたのですか?これは、そのポート上のサーバへの接続が開いているかどうかを確認します。 – mostafazh
Ec2がパブリックサブネットにあるかどうか、またはNatゲートウェイが接続されているかどうかをチェックします。あなたはあなたが持っている正確な例外を共有してください。 –