gpt4 book ai didi

c# - 从 C# 邮件发送中获取输出

转载 作者:太空宇宙 更新时间:2023-11-03 17:27:13 25 4
gpt4 key购买 nike

我刚开始做这类事情,但我想从发送邮件的应用程序中获取输出。例如我想知道是否

  • 已建立连接
  • 如果用户认证成功
  • 邮件是否发送成功等

我知道如何使用 System.Net.Mail 发送邮件,但有什么方法可以获取此信息吗?

编辑:

在 David Stratton 发布的链接中,您可以看到日志,它会收到如下状态代码

  • 220 w2k Microsoft ESMTP MAIL 服务,版本:5.0.2195.6713 已于 2005 年 12 月 31 日星期六准备就绪
  • 250-w2k 你好
  • 250-AUTH GSSAPI NTLM 登录..
  • 250-AUTH=LOGIN..
  • 250 转..
  • 250-ATRN..
  • 250-尺寸 2097152..
  • 250-ETRN..
  • 250-流水线..
  • 250-DSN..
  • 250-增强状态代码..
  • 250-8bitmime..
  • 250-BINARYMIME..
  • 250-CHUNKING..
  • 250-VRFY..
  • 250 好..
  • 邮件来自:..
  • 250 2.1.0 me@mycompany.com....发件人OK..
  • 收件人:..
  • 550 5.7.1 无法为 him@hiscompany.com 中继

有没有办法让这些事件直播,以便在每次事件发生时我都可以显示它们?

最佳答案

将您的 SmtpClient.Send() 调用放在 try/catch block 中并捕获以下错误。

ArgumentNullException

  • 消息什么都不是。

InvalidOperationException

  • 此 SmtpClient 正在进行 SendAsync 调用。
  • MailMessage.From 什么都不是。
  • MailMessage.To、MailMessage.CC 和 MailMessage.Bcc 属性中没有指定收件人。
  • DeliveryMethod 属性设置为 Network 且 Host 为 Nothing。
  • DeliveryMethod 属性设置为 Network,Host 等于空字符串 ("")。
  • DeliveryMethod 属性设置为 Network,Port 为零、负数或大于 65,535。

ObjectDisposedException

  • 该对象已被处置。

SmtpException

  • 与 SMTP 服务器的连接失败。
  • 身份验证失败。
  • 操作超时。
  • EnableSsl 设置为 true,但 DeliveryMethod 属性设置为 SpecifiedPickupDirectory 或 PickupDirectoryFromIis。
  • EnableSsl 设置为 true,但 SMTP 邮件服务器未在对 EHLO 命令的响应中通告 STARTTLS。

SmtpFailedRecipientsException

  • 邮件无法传递给 MailMessage.To、MailMessage.CC 或 MailMessage.Bcc 中的一个或多个收件人。

引用:http://msdn.microsoft.com/en-us/library/swas0fwc.aspx

关于c# - 从 C# 邮件发送中获取输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7922773/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com