使用以下设置(使用springframework助手/包装类),我无法使用我的Gmail帐户发送电子邮件:
JavaMailSenderImpl sender = new JavaMailSenderImpl();
sender.setHost("smtp.gmail.com");
sender.setProtocol("smtp");
sender.setPort(465);
sender.setUsername("mylogin@gmail.com");
sender.setPassword("my_password");
NodeRef user = personService.getPerson(userName, false);
String fromAddress = (String) nodeService.getProperty(user, ContentModel.PROP_EMAIL);
// Define message
MimeMessage message = sender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message, true);
helper.setTo("destination@address.com");
helper.setFrom(new InternetAddress(fromAddress));
每当我发送它时会挂起一段时间,我会收到以下错误:
javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 465, response: -1
到目前为止,谷歌搜索还没有回复任何具体内容。
答案 0 :(得分:1)
Gmail的SMTP服务器需要TLS / SSL。您需要setup those Session
properties。
Properties props = new Properties();
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.port", "587"); // different port for tls
sender.setJavaMailProperties(props);
设置您的用户名和密码。
Here's Gmail支持页。