邮箱不可用。服务器的回复是:此处没有此用户。

4
我正在web.config中使用以下代码,电子邮件可以顺利发送到我的Gmail账户。但是当我尝试将同一封电子邮件发送到我的公司邮箱时,会收到错误提示"System.Net.Mail.SmtpFailedRecipientException: Mailbox unavailable. The server response was: No such user here"。但我确实有一个邮箱。是否有什么地方出现了问题?请给我建议!非常感谢您的帮助!
这是在新的IIS 7.5上使用ASP.net应用程序。
<system.net>
    <mailSettings>
        <smtp deliveryMethod="Network">
            <network host="localhost" port="25" defaultCredentials="true" clientDomain="" />
        </smtp>
    </mailSettings>
</system.net>

在asp.net中
SmtpClient smtp = new SmtpClient();
smtp.Send(message);

错误不是来自您的代码,而是来自邮件服务器。您是否仔细检查了要发送到的帐户并确保它是正确的?您还可以使用类似Fiddler或WireShark的工具来监视实际的SMTP调用,并查看其中是否有任何有用的信息。除此之外,您下一步应该是与邮件服务器管理员联系,以找出服务器为什么会将消息反弹回来。 - David
@David,我已经设置了SMTP,但不确定出了什么问题。我将尝试使用Fiddler,看看是否能够找到错误的原因!我创建了一个远程SMTP,当我使用该SMTP主机时,无论我指定哪个电子邮件ID,都会出现相同的错误,但是当我使用本地主机时,对于Gmail可以工作,但对于公司电子邮件ID则不行。 - challengeAccepted
1
您试图发送电子邮件到哪个电子邮件地址?该电子邮件账户是否存在于目标 SMTP 服务器上? - user47589
@Amy,恐怕我不知道!!你能否请更清楚地告诉我如何在目标服务器上拥有电子邮件帐户或者给我提供一个链接? - challengeAccepted
你想发送电子邮件的是哪个电子邮件地址? - user47589
2个回答

2

我通过两个变更来解决这个异常: 1. 将smtp端口从'25'改为'587' 2. 将凭证用户名从'Admin'改为'Admin@leilakarimi.ir'

希望这些变更可以解决你的问题。


你可以联系电子邮件服务器支持团队寻求帮助,他们会纠正你的代码。 - leila karimi
端口587: 这是默认的电子邮件提交端口。当电子邮件客户端或服务器正在提交电子邮件以通过适当的邮件服务器路由时,它应该始终使用此端口。除非您被上游网络或托管提供商明确阻止,否则所有Mailgun客户都应考虑将此端口作为默认端口。此端口与TLS加密相结合,将确保电子邮件安全提交并遵循IETF制定的指南。 http://blog.mailgun.com/25-465-587-what-port-should-i-use/ - leila karimi

2
最初的回答:
最近我的托管提供商更改了邮箱密码策略,我一直在使用一个仅用于发送自动邮件的帐户,因此从未更改过密码。
我开始收到这个错误,直到我更新了该帐户的凭据。对于我的情况来说,这个错误并不是很具描述性。

这更适合作为注释而不是答案。 - leonheess
@leonheess,我知道,但是我没有足够的声望来写评论。我的选择是创建一个答案或什么都不做。谢谢。 - Gabrielkdc
我给你的回答点了赞,希望你下次能够有足够的声望 (: - leonheess

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接