2017-09-15 12 views
0

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); 
    } 
+0

AWSのサポートを依頼してみたのですか?これは、そのポート上のサーバへの接続が開いているかどうかを確認します。 – mostafazh

+0

Ec2がパブリックサブネットにあるかどうか、またはNatゲートウェイが接続されているかどうかをチェックします。あなたはあなたが持っている正確な例外を共有してください。 –

答えて

1

AWS EC2では、ポート25(SMTPポート)は通常使用できません。

ひどく絞られています。

非常に軽く使用すると、AWSアカウントから電子メールを送信することがあります。しかし、一般的には二つの選択肢

  1. AWS SES簡単な電子メールサービスを使用するがある。この問題を解決するには

    信頼できるものではありません。またはSNSにはいくつかの本当に簡単なユースケース

  2. のためにあなたは、EC2インスタンスからのtelnet smtp.gmail.com 587` `に制限を削除するhttps://aws-portal.amazon.com/gp/aws/html-forms-controller/contactus/ec2-email-limit-rdns-request
+0

AWSには、このナレッジベースに記載されている問題があります。https://aws.amazon.com/premiumsupport/knowledge-center/ec2-port-25-throttle/ – mostafazh

関連する問題