gpt4 book ai didi

c# - SmtpClient 在发送时从服务器获取结果

转载 作者:可可西里 更新时间:2023-11-01 08:18:52 26 4
gpt4 key购买 nike

SmtpClient 发送方法返回无效。有什么办法可以得到服务器响应吗?我是否只是假设它是成功的,除非它抛出异常?

我指的是类... http://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.aspx

最佳答案

要回答你的第二点,是的,你所能做的就是假设它是成功的 - 这意味着它向服务器发送了消息并且服务器接受了它,除非你遇到异常。

您可能已经知道其余的内容,但以防万一...

从那里开始,电子邮件可能会丢失,并且无法以多种方式发送。您的服务器可能会接受它并决定不发送它,或者接受它并在崩溃前断电。它可能会在途中被垃圾邮件过滤器等阻止。

您可以将电子邮件视为与普通邮件类似的邮件,因为它在发件人和收件人之间经过多方传递。从您的代码中,您只能确认它已到达您用来发送的 SMTP 服务器,这类似于将它交给邮局的出纳员。您不知道(或需要知道)消息是如何从那里路由的。可以通过空中、地面或信鸽进行。你不在等式 - 你不需要知道它是如何发送的,只是你相信他们知道如何发送它。 (对于电子邮件也是如此。)

如果您需要确认收件人是否打开了它,有一些方法可以在服务器上的 HTML 消息中嵌入图像并在访问该图像时在您的日志中进行跟踪等。(Google 电子邮件跟踪和电子邮件打开跟踪)

另一方面...

如果服务器拒绝它,那么您确实会以某种方式得到服务器响应 - 错误中应该有一个错误代码和一个描述,您可以使用它来解决它没有成功的原因,或者使用错误处理来尝试另一条路线等。

关于c# - SmtpClient 在发送时从服务器获取结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7273949/

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