【问题标题】:Error when changing the smtp host in asp.net在 asp.net 中更改 smtp 主机时出错
【发布时间】:2018-11-01 03:28:00
【问题描述】:

5.2.0 STOREDRV.Submission.Exception:SendAsDeniedException.MapiExceptionSendAsDenied;由于消息无法提交消息的永久异常,无法处理消息。

我有一个 ASP.NET Web 应用程序,它有一个带有表单的联系页面。在我更换主机之前一切都很好。例如,如果我将主机更改为 smtp.live.com 而不是 smtp.gmail.com 我得到了上面的错误。我的问题是,如果我的主机来自我的 gmail 帐户,它可以正常工作,但如果我更改它,它就不起作用。我已经搜索过其他问题,但它们与我的不同,在 Google 上找不到任何合适的答案。

我的代码如下:

public partial class WebForm2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
    }

    protected void btnSend_Click(object sender, EventArgs e)
    {
        MailMessage mm = new MailMessage("sender@hotmail.com", "mymail@hotmail.com");
        mm.Subject = TextBox1.Text;
        mm.Body = "Name: " + txtName.Text + "<br /><br />Email: " + txtEmail.Text + "<br />" + TextBox2.Text;

        if (FileUpload1.HasFile)
        {
            string FileName = System.IO.Path.GetFileName(FileUpload1.PostedFile.FileName);
            mm.Attachments.Add(new Attachment(FileUpload1.PostedFile.InputStream, FileName));
        }

        mm.IsBodyHtml = true;
        SmtpClient smtp = new SmtpClient();
        //smtp.Host = "smtp.gmail.com";
        smtp.Host = "smtp.live.com";
        smtp.EnableSsl = true;
        System.Net.NetworkCredential NetworkCred = new System.Net.NetworkCredential();
        NetworkCred.UserName = "mymail@hotmail.com";
        NetworkCred.Password = "xxxxxxxx";
        smtp.UseDefaultCredentials = false;
        smtp.Credentials = NetworkCred;
        smtp.Port = 587;
        smtp.Send(mm);
        lblMessage.Text = "Email Sent SucessFully.";
    }
}

【问题讨论】:

标签: c# html asp.net visual-studio


【解决方案1】:

回答:通过这个问题 -> PHPMailer .Exception:SendAsDeniedException.MapiExceptionSendAsDenied ,我将“sender@hotmail.com”更改为我的另一封邮件并工作。

【讨论】:

    猜你喜欢
    • 2023-03-16
    • 2012-11-28
    • 1970-01-01
    • 2012-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多