我通过Cloudbees注册了Sendgrid。我试图通过sendgrid SMTP API发送一封电子邮件,其中包含以下属性:
port=587
host=smtp.sendgrid.net
username=[username generated by cloudbees, cloudbees_[myid] ]
password=[the password i login to cloudbees grandcentral]
我得到以下例外。
Caused by: javax.mail.AuthenticationFailedException: 535 Authentication failed: Bad username / password
at com.sun.mail.smtp.SMTPTransport$Authenticator.authenticate(SMTPTransport.java:823)
at com.sun.mail.smtp.SMTPTransport.authenticate(SMTPTransport.java:756)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:673)
at javax.mail.Service.connect(Service.java:295)
at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:389)
... 38更多
密码应该是什么?用户名是否错误?
提前致谢, 人
答案 0 :(得分:1)
不要使用您的cloudbees凭据连接到sendgrid,而是运行时注入的(读取http://wiki.cloudbees.com/bin/view/RUN/SendGrid)。您还应该使用资源绑定将Sendgrid直接注入为JNDI JavaMail会话,因此您的设置更简单
答案 1 :(得分:1)
您使用了错误的凭据登录.Cloudbees将您的SendGrid用户名和密码存储在环境变量中。按如下方式访问它们:
host = System.getProperty("SENDGRID_SMTP_HOST");
username = System.getProperty("SENDGRID_USERNAME");
password = System.getProperty("SENDGRID_PASSWORD");