当前位置: 首页 > 面试题库 >

从Java应用程序发送电子邮件中的异常:中继被拒绝

张光辉
2023-03-14
问题内容

我们正在使用Spring
Mail从Java应用程序org.springframework.mail.javamail.JavaMailSenderImpl发送电子邮件

春季电子邮件配置现为

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl" autowire-candidate="default">
        <property name="host" value="${test.email.host}" />
        <property name="port" value="${test.email.port}" />
        <property name="username" value="${test.email.username}" />
        <property name="password" value="${test.email.password}" />
        <property name="javaMailProperties">
            <props>
                <prop key="mail.smtp.auth">true</prop>

            </props>
        </property>
    </bean>

Java代码快照为

    @Autowired(required = true)
    @Qualifier("errorMessageMailSender")
    JavaMailSenderImpl mailSender;

    ..............
    ..............

          try {
                MimeMessage mailMessage = buildEmailMimeMessage(properties,mimeMultipart);
                logger.info(String.format("Built MimeMessage object is <%s>",mailMessage));
                if (mailMessage != null) {
                    mailSender.send(mailMessage);
                    logger.info("Mail sent Successfully");
                }else{
                    logger.info("Mail send failed as Mail message object construction failed.");
                }
                result=true;
            } catch (Exception e) {
                logger.error("An exception occurred while sending mail :: " + e.getMessage());
            }

属性文件

test.email.host=mail.mydomain.net
test.email.port=2525
test.email.username=demo@mydomain.net
test.email.password=mypassword

但是我们处于例外之下,并且没有发送电子邮件

An exception occurred while sending mail :: Failed messages: javax.mail.SendFailedException: Invalid Addresses;
  nested exception is:
    com.sun.mail.smtp.SMTPAddressFailedException: 550 5.7.1 <demo@mydomain.net>... Relaying denied

问题答案:

您尝试向其发送邮件的smtp服务器拒绝中继。如果这不是您自己的本地服务器,则可以更改配置以中继来自mydomain.net的邮件。但是,如果它是外部服务器(例如gmail),则必须使用真正的注册域。

要针对邮件服务器测试代码,建议您设置经过dockerized处理的Apache James Server,在其上创建一些测试用户,以及发送和接收电子邮件。



 类似资料:
  • 我是Java初学者,我想用Java发送电子邮件。为此,我使用这段代码发送电子邮件,但这段代码引发了一个异常。我已经验证了我的用户名和密码,它们绝对没有问题,所以请告诉我是否有其他方法用Java发送电子邮件? 这是异常的堆栈跟踪: 这是我的代码

  • 问题内容: 在我的AngularJS Web应用程序之一中,我需要通过向相关人员发送电子邮件来确认密码。如何在AngularJS中实现呢?我是.NET专家,正在使用Visual Studio 2013。 问题答案: 我已经通过网络服务实现了,请参考下面的代码片段 和ajax调用为

  • 我正在做一个学校项目,我试图在创建帐户时发送一封验证电子邮件,但我不断收到一个身份验证错误,即使我的凭据是正确的。 错误日志: 我尝试了几种不同的身份验证器,但似乎都不起作用!谢谢!

  • 问题内容: 我想在每次模拟结束时向我的Gmail帐户发送一封电子邮件。我尝试在网上搜索并发现sendEmail,但超时。如果有人能指出我所尝试的软件包或链接,我将不胜感激。 谢谢 问题答案: 您可以直接使用本地MTA 并向其提供符合RFC822的文本。

  • 我正在用Android开发一个应用程序。我不知道如何从应用程序发送电子邮件?