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

SMTPMessage-传递通知状态工作异常

公羊瀚
2023-03-14

我试图获得递送通知,同时发送电子邮件使用spring邮件。

如果我给出正确的“收件人”电子邮件地址。工作很好。我收到成功传递通知消息。
当我给出不正确的“收件人”电子邮件地址时,我得到的是成功传递消息和失败传递消息。

为什么它以失败回报成功?我的代码有什么问题吗?

public class MailSender {

private static final Logger LOGGER = LoggerFactory
        .getLogger(MailSender.class);

@Autowired
private JavaMailSender javaMailSender;

public void sendEmail(FormData formData)
        throws AuthenticationFailedException, MessagingException {
        final Data data = formData.getData();
        MimeMessage message = javaMailSender.createMimeMessage();   
                 
        MimeMessageHelper msgHelper = new MimeMessageHelper(message);
        msgHelper.setFrom(data.getFrom());
        msgHelper.setTo(data.getTo());
        msgHelper.setSubject(data.getSubject());
        msgHelper.setText(data.getBody());

        SMTPMessage smtpMessage = new SMTPMessage(message);
        smtpMessage.setReturnOption(SMTPMessage.RETURN_HDRS);
        smtpMessage.setNotifyOptions(SMTPMessage.NOTIFY_DELAY|SMTPMessage.NOTIFY_FAILURE|SMTPMessage.NOTIFY_SUCCESS);            
        javaMailSender.send(smtpMessage);


<bean id="javaMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
    <property name="host" value="${mail.host}" />
    <property name="port" value="25" />
    <!-- <property name="username" value="${mail.username}" />
    <proprty name="password" value="${mail.password}" />  -->

    <property name="javaMailProperties">
        <props>
            <prop key="mail.smtp.auth">false</prop>
            <prop key="mail.smtp.starttls.enable">true</prop>
            <prop key="mail.debug">true</prop>
        </props>
    </property>
</bean>

成功消息:

主题:中继:从本地实例传递到这些收件人或组的示例邮件已完成,但目标服务器未发送传递通知:

myalerts@mail.com

失败消息:

主题:无法传递:来自本地实例的邮件示例

无法传递到以下收件人或组:

myalerts@mail.com将此邮件传递到此电子邮件地址时出现问题。请尝试再次发送此消息。如果问题仍然存在,请与您的帮助台联系。

注意:myalerts@mail.com是测试失败传递通知的错误邮件地址。电子邮件功能运行良好。我在找送货通知

共有1个答案

周宏胜
2023-03-14

您会得到成功和失败通知,因为您在设置notify选项时要求同时得到这两个通知。如果邮件服务器对同一邮件发出成功和失败通知,则需要询问邮件服务器供应商为什么会出现这种情况。

 类似资料:
  • 下面是给我带来麻烦的文件: 我试图通过路由将新的和传递到我的“feed”组件中。但我收到一条错误消息: 我知道为什么会发生这种情况,但不知道如何将状态传递给我的“feed”组件。在过去的5个小时里,我一直在试图解决这个问题,我变得非常绝望! 请救命!谢谢 下面的答案很有帮助,我感谢athors,但他们不是做到这一点的最简单的方法。在我的例子中,最好的方法是这样的:当您更改路线时,只需向其附加一条消

  • 我参考了以下链接来研究Android中通知服务的演示示例:Sai Geetha博客和Vogella教程。 这两个项目都起到了作用,但都是部分的,也就是说,我已经按原样下载并执行了这两个项目。两者都有启动通知的按钮。单击按钮时,状态栏顶部会显示通知。 问题来了,点击该通知后,既不会显示任何消息,也不会激发浏览新活动的意图。 我对这个概念还不熟悉,所以非常感谢您的帮助。。。 创建通知。班 通知接收者。

  • 我想知道是否有一种方法,使通知弹出状态栏上方,像传统的祝酒词消息,当第一次收到。默认情况下,当收到通知时,通知标签会显示在状态栏中,并暂时隐藏其他通知图标(如果有的话),直到通知标签显示完毕。然后,通知图标通常被添加到等待用户交互的图标的水平列表中。我想要最初的接收报价只是上升到状态栏之上,然后添加图标与其余的他们。

  • 但是控制台显示一个错误: 未捕获的 DOMException:无法在 “History” 上执行 'pushState':无法克隆 Symbol(react.element)。 这是什么意思?对此我能做些什么?

  • 所以我想通过firebase函数设置访问,然后把这个访问道具作为道具传递给tabs组件,但是tabs组件的初始状态为null,firebase auth funtion在此之后就解决了。

  • 主要内容:本节引言:,1.设计文档部分解读,2.Notification的基本使用流程,3.设置相关的一些方法:,4.代码示例:最常见的Notification:,5.代码示例下载:,本节小结:本节引言: 本节带来的是Android中用于在状态栏显示通知信息的控件:Notification,相信大部分 学Android都对他都很熟悉,而网上很多关于Notification的使用教程都是基于2.x的,而 现在普遍的Android设备基本都在4.x以上,甚至是5.0以上的都有;他们各自的Notifi