2017-07-01 44 views
0

你好男孩。我有一个开源框架的项目,我有一个问题intp生产服务器。进入本地主机,播放正确的电子邮件,但在生产服务器我有错误:玩框架2.5 Gmail不能发送电子邮件到prod服务器

2017-07-01 17:12:09,274 [调试]来自com.sun.mail.smtp在application-akka.actor.default-dispatcher -19 - 尝试连接到主机“smtp.gmail.com”,端口465,isSSL错误

2017-07-01 17:12:09,279 [DEBUG] from com.sun.mail.util.socket in application -akka.actor.default-dispatcher-19 - getSocket,主机smtp.gmail.com,端口587,前缀mail.smtp,useSSL false

2017-07-01 17:12:09,473 [DEBUG] from com。 sun.mail.smtp in application-akka.actor.default-dispatcher-19 - 连接到主机“smtp.gmail.com”,端口:465

2017-07-01 18:12:37,567 [DEBUG] from org.avaje.ebean.SUM in application-akka.actor.default-dispatcher -94-txn [1007] FindMany类型[UserModel] origin [D9IsfI。 DfbUPF.x3-tY] exeMicros [933] rows [0] name [] predicates [t0.email =? ] bind [xxx @ xxx]

2017-07-01 18:12:37,641 [DEBUG] from com.sun.mail.smtp in application-akka.actor.default-dispatcher-94 - 尝试连接到主机“smtp.gmail.com”,端口587,isSSL错误 2017-07-01 18:12:37,641 [DEBUG] from com.sun.mail.util.socket in application-akka.actor.default-dispatcher-94 - getSocket,主机smtp.gmail.com,端口465,前缀mail.smtp,useSSL false

2017-07-01 18:12:37,802来自com.sun.mail.smtp的application_akka.actor中的[DEBUG] .default-dispatcher-94 - 连接到主机“smtp.gmail.com”,端口:465

存储库可在此处获得:https://bitbucket.org/companystalker/com.silenceonthewire

你能帮我吗? WTF?

+0

换句话说,你问为什么代码你还没有告诉我们无法按预期工作。这是一个非常难以回答的问题,您可能希望通过发布您的[最小,完整和可验证示例](http://stackoverflow.com/help/mcve)代码来解决问题。 –

回答

0

我的SSL代码:

package emails; 

import play.Play; 

import javax.mail.*; 
import javax.mail.internet.InternetAddress; 
import javax.mail.internet.MimeMessage; 
import java.util.HashMap; 
import java.util.Properties; 

/** 
* Created by adrian on 06.06.17. 
*/ 
public class SendSslEmail { 

    public void email(HashMap<String, String> email){ 
     Properties props = new Properties(); 
     props.put("mail.smtp.host", Play.application().configuration().getString("mail.smtp.host")); 
     props.put("mail.smtp.socketFactory.port", Play.application().configuration().getString("mail.smtp.port")); 
     props.put("mail.smtp.socketFactory.class", 
       "javax.net.ssl.SSLSocketFactory"); 
     props.put("mail.smtp.auth", Play.application().configuration().getString("mail.smtp.auth")); 
     props.put("mail.smtp.port", Play.application().configuration().getString("mail.smtp.port")); 

     Session session = Session.getInstance(props, 
       new javax.mail.Authenticator() { 
        protected PasswordAuthentication getPasswordAuthentication() { 
         return new PasswordAuthentication(
           Play.application().configuration().getString("mail.username"), 
           Play.application().configuration().getString("mail.password") 
         ); 
        } 
       }); 

     try { 

      Message message = new MimeMessage(session); 
      message.setFrom(new InternetAddress(Play.application().configuration().getString("mail.username"))); 
      message.setRecipients(Message.RecipientType.TO, 
        InternetAddress.parse(email.get("to"))); 
      message.setSubject(email.get("subject")); 
      message.setText(email.get("content")); 

      Transport.send(message); 

      System.out.println("Done"); 

     } catch (MessagingException e) { 
      throw new RuntimeException(e); 
     } 
    } 

} 

和配置是:

# TLS settings 
mail.smtp.auth = true 
mail.smtp.starttls.enable = true 
mail.smtp.socketFactory.port = 587 
mail.smtp.host = "smtp.gmail.com" 
mail.smtp.port = 465 
mail.username = "[email protected]" 
mail.password = "" 

play.filters.csrf.header.bypassHeaders { 
    X-Requested-With = "*" 
    Csrf-Token = "nocheck" 
} 

play.filters.csrf.bypassCorsTrustedOrigins = false