当前位置: 首页 > 知识库问答 >
问题:

我无法用我的应用程序配置电子邮件。我创建了一个单独的电子邮件实用程序,但出现了以下错误

辛星宇
2023-03-14

我正试图连接gmail服务器,并希望发送电子邮件到同一个帐户的学习目的,但它抛出了这个例外。

@Service
public  class EmailUtilImpl implements EmailUtil {

    @Autowired
    private JavaMailSender sender;

    @Override
    public void sendEmail(String toAddress, String subject, String body)
    {
        MimeMessage message= sender.createMimeMessage();
        MimeMessageHelper helper= new MimeMessageHelper(message);
        try {
            helper.setTo(toAddress);
            helper.setSubject(subject);
            helper.setText(body);
        }
        catch(MessagingException e)
        {
            e.printStackTrace();
        }
        sender.send(message);
    }
}
spring.mail.host = smtp.gmail.com 
spring.mail.port = 587 
spring.mail.username = myemail 
spring.mail.password = mypassword 
spring.mail.properties.mail.smtp.starttls.enable= true         
spring.mail.properties.mail.smtp.starttls.required = true # Other properties 
spring.mail.properties.mail.smtp.auth=true 
spring.mail.properties.mail.smtp.connectiontimeout=5000 
spring.mail.properties.mail.smtp.timeout=5000 
spring.mail.properties.mail.smtp.writetimeout=5000

错误:

出现意外错误(类型=内部服务器错误,状态=500)。邮件服务器连接失败;嵌套的异常是com。太阳邮政util。MailConnectException:无法连接到主机,端口:smtp。gmail。com,587;超时-1;嵌套的例外是:java。网SocketException:权限被拒绝:连接。失败消息:com。太阳邮政util。MailConnectException:无法连接到主机,端口:smtp。gmail。com,587;超时-1;嵌套的例外是:java。网SocketException:权限被拒绝:连接

共有2个答案

娄森
2023-03-14
spring.mail.host=smtp.gmail.com
spring.mail.port=587
spring.mail.username= yourAccount@gmail.com
spring.mail.password= generated App Password
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true

生成应用程序密码

其他可能的解决方案

>

System.setProperty("java.net.preferIPv4Stack", "true")
季森
2023-03-14

尝试以下属性

spring:
  mail:
    host: smtp.gmail.com
    port: 587
    username: <YOUR_EMAIL_ADDRESS>
    password: <YOUR_EMAIL_PASSWORD>
    properties:
      mail:
        smtp:
          starttls:
            enable: true
            required: true
          auth: true
 类似资料:
  • 我正在用Android开发一个应用程序。我不知道如何从应用程序发送电子邮件?

  • 发送电子邮件时,页脚中有下面的标准消息。 此电子邮件是使用CakePHP框架发送的,http://cakephp.org. 它似乎使用了这个: 我的控制器里有这个。 创建了以下视图: /应用程序/查看/电子邮件/文本/梦想。ctp /应用程序/视图/布局/电子邮件/文本/梦想。ctp 是否有任何其他设置我错过了cakephp使用我的布局? *注:如果我重新命名我的梦想。ctp默认。ctp它使用那个

  • 我有一个使用commons电子邮件的项目(http://search.maven.org/#artifactdetails|组织。阿帕奇。commons | commons电子邮件| 1.2 | jar)通过maven发送。我想使用电子邮件模拟类(http://commons.apache.org/email/testapidocs/org/apache/commons/mail/mocks/Mo

  • 我正在尝试从应用程序发送电子邮件。 问题是Gmail不允许我进行身份验证,因为位置不寻常——当然,每个应用程序都安装在其他位置。 我的代码(使用Javax): 该代码在我的测试设备上运行良好,但在其他使用我的应用程序的设备上崩溃。 我得到的错误:javax.mail.身份验证失败异常:534-5.7.14请通过534-5.7.14您的网络浏览器登录,然后重试。534-5.7.14在534 5.7.

  • 我得到这个错误 2020-06-03 21:08:07连接:打开到ssl://smtp.gmail.com:25,超时=300,选项=数组()2020-06-03 21:08:07连接失败。 错误#2:stream_socket_client():代码1的SSL操作失败。 OpenSSL错误消息:错误:1408F10B:SSL例程:ssl3\u get\u记录:错误的版本号[C:\xampp\ht