【问题标题】:Confirm that mail successfully arrived确认邮件已成功到达
【发布时间】:2012-05-23 06:47:52
【问题描述】:

我使用 gmail 从我的 asp.net 页面发送邮件,但我想要一种方法来确认(确保)邮件已成功到达收件人(我将一些收件人添加到密件抄送)

谁能帮帮我??

【问题讨论】:

标签: c# asp.net gmail sendmail


【解决方案1】:

有两种方法

  • 请求已读回执
  • 将图片嵌入邮件正文

但据我所知,谷歌不支持它们。无论如何搜索这两种方式。

【讨论】:

    【解决方案2】:

    我认为您不能直接从“发送代码”中执行此操作。我想您需要使用一些 POP3 或 IMAP api 来查看收件人是否收到了新电子邮件。

    例如,您只能测试 SMTP 服务器是否已接受或拒绝您的邮件(垃圾邮件原因、身份验证错误),但您无法检查对方是否收到电子邮件

    或者您可以使用电子邮件客户端的“自动回复”功能

    【讨论】:

    • thnx,你能给我举个例子吗!!?
    【解决方案3】:

    对于标准 RFC822 电子邮件,确实无法确认收到。要发送消息,邮件客户端将与 SMTP 服务器通信。服务器可能会拒绝严重问题(例如格式错误的电子邮件地址)。服务器将尝试将消息转发到目的地,但消息可能会落在地板上。当然,邮件可能会在目标邮箱中结束,但也许没有人会阅读它。

    通常,如果递送失败,您最终会收到退回邮件,但这不会在邮件递送的同时发生。

    【讨论】:

      【解决方案4】:

      您必须使用一些 POP3(协议)库来检查收件人是否收到了您的电子邮件。 POP3 可用于检索邮件,但它也不支持 PUSH(因此您必须轮询邮件)。

      IMAP4 IDLE 扩展名最常被称为 PUSH 邮件 - 因此您需要找到支持 IMAP4 IDLE 的 C# 库。

      使用C# .Net Libraries to Check for Imap Messages检查此链接 并检查此Accessing IMAP in C#

      请记住,您的邮件服务器还需要启用 IMAP4 和 IMAP4 IDLE。一些邮件服务器不支持,必须使用 POP3 轮询。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-02-01
        • 2011-10-29
        • 1970-01-01
        • 1970-01-01
        • 2023-03-20
        • 2016-03-17
        • 2011-01-06
        • 2017-06-21
        相关资源
        最近更新 更多