ASP.NET 网络应用中的 SmtpClient 问题
Problem with SmtpClient in ASP.NET web app
我在 ASP.NET 网络应用程序中遇到 SmtpClient 问题。
我有一个生成电子邮件消息然后发送的通用函数。代码如下:
public static bool SendMessage( string fromName, string toName, string subject, string body ) {
var smtpClient = new SmtpClient("server address here")
{
Port = 587,
Credentials = new NetworkCredential("user", "pass"),
EnableSsl = false,
};
var mailMessage = new MailMessage
{
From = new MailAddress("sender", "Testing"),
Subject = subject,
Body = body
};
mailMessage.To.Add ( new MailAddress(toName, "Valued Customer") );
try {
smtpClient.Send ( mailMessage );
return true;
}
catch (Exception ex) {
var error = $"ERROR :{ex.Message}";
return false;
}
}
问题是,当我调用它时出现以下错误:
Mailbox unavailable. The server response was: <email address being sent to> No such user here
当然我删除了<>中的值,但在原始错误消息中它是收件人的电子邮件地址。我几乎认为 SMTP 服务器认为收件人必须是系统上的用户。
接下来我可以尝试什么?我什至硬编码了电子邮件地址,而不是使用变量,我想这可能有一些奇怪的问题,但它没有用。
错误告诉您 SMTP 服务器没有使用该电子邮件地址的用户(通常它与发件人地址的安全性有关)。如果 SMTP 服务器无法识别发件人地址,将不会发送电子邮件。
解决方案,改变你的FROM。示例:
var mailMessage = new MailMessage
{
From = new MailAddress("tester", "test@adminsystem.com"),
Subject = subject,
Body = body
};
我在 ASP.NET 网络应用程序中遇到 SmtpClient 问题。
我有一个生成电子邮件消息然后发送的通用函数。代码如下:
public static bool SendMessage( string fromName, string toName, string subject, string body ) {
var smtpClient = new SmtpClient("server address here")
{
Port = 587,
Credentials = new NetworkCredential("user", "pass"),
EnableSsl = false,
};
var mailMessage = new MailMessage
{
From = new MailAddress("sender", "Testing"),
Subject = subject,
Body = body
};
mailMessage.To.Add ( new MailAddress(toName, "Valued Customer") );
try {
smtpClient.Send ( mailMessage );
return true;
}
catch (Exception ex) {
var error = $"ERROR :{ex.Message}";
return false;
}
}
问题是,当我调用它时出现以下错误:
Mailbox unavailable. The server response was: <email address being sent to> No such user here
当然我删除了<>中的值,但在原始错误消息中它是收件人的电子邮件地址。我几乎认为 SMTP 服务器认为收件人必须是系统上的用户。
接下来我可以尝试什么?我什至硬编码了电子邮件地址,而不是使用变量,我想这可能有一些奇怪的问题,但它没有用。
错误告诉您 SMTP 服务器没有使用该电子邮件地址的用户(通常它与发件人地址的安全性有关)。如果 SMTP 服务器无法识别发件人地址,将不会发送电子邮件。
解决方案,改变你的FROM。示例:
var mailMessage = new MailMessage
{
From = new MailAddress("tester", "test@adminsystem.com"),
Subject = subject,
Body = body
};