簡體   English   中英

ASP.NET web 應用程序中的 SmtpClient 問題

[英]Problem with SmtpClient in ASP.NET web app

我在 ASP.NET web 應用程序中遇到 SmtpClient 問題。

我有一個通用的 function 構建一個 email 消息然后發送它。 代碼如下:

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

自然我刪除了 < > 中的值,但在原始錯誤消息中它是收件人的 email 地址。 我幾乎認為 SMTP 服務器認為收件人必須是系統上的用戶。

接下來我可以嘗試什么? 我什至硬編碼 email 地址而不是使用變量,我認為這可能有一些奇怪的問題,但它沒有用。

該錯誤告訴您 SMTP 服務器沒有具有該 email 地址的用戶(通常與 FROM 地址周圍的安全性有關)。 如果 SMTP 服務器無法識別 FROM 地址,它將不會發送 email。

解決方法,改變你的FROM 例子:

var mailMessage = new MailMessage
{
   From = new MailAddress("tester", "test@adminsystem.com"),
   Subject = subject,
   Body = body
};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM