【问题标题】:ASP.NET send email through 1and1 smtpASP.NET 通过 1and1 smtp 发送电子邮件
【发布时间】:2019-05-15 07:04:07
【问题描述】:

我在通过 1and1 smtp 发送电子邮件时遇到问题

这是我在我的 asp.net mvc 应用程序中使用的代码: (当我将此代码与 gmail 一起使用时,它工作正常,但现在我必须使用 1and1 并且它不起作用:(

public void Send(Inquiry inquiry)
    {
        SmtpClient smtpClient = new SmtpClient ("Smtp.1and1.com", 587);
        smtpClient.UseDefaultCredentials = false;
        smtpClient.Credentials = new System.Net.NetworkCredential("mail@mywebsite.com", "mypassword");

        smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
        smtpClient.EnableSsl = true;
        MailMessage mail = new MailMessage();


        mail.From = new MailAddress("sales@mywebsite.com", "myname");
        mail.To.Add(new MailAddress("sales@mywebsite.com"));
        mail.Subject = $"New inquiry from {inquiry.Name}";
        mail.Body = $"{inquiry.Message}\r " +
            $"Recieved: {inquiry.Date}";
        mail.ReplyToList.Add(new MailAddress(inquiry.Email));


        smtpClient.Send(mail);
    }

我得到的错误是:

SmtpException: Error in processing. The server response was: Requested action aborted: local error in processing

System.Net.Mail.MailCommand.CheckResponse(SmtpStatusCode statusCode, 字符串响应)

【问题讨论】:

  • 您可以从电子邮件客户端发送具有相同参数的电子邮件吗?
  • 我使用完全相同的代码从 Gmail 发送只是更改了服务器名称。 (这说明清楚了吗?)
  • 它没有说明任何事情,除非 Gmail 和 1and1 使用完全相同的服务器软件和完全相同的配置。
  • 我特别想看看删除 ReplyToList 是否会有所不同,尽管确认您可以发送完全相同的电子邮件(相同的发件人、相同的收件人、相同的主题、相同的正文、相同的回复到,相同的凭据)来自常规邮件客户端将表明问题是您的代码还是其他问题。
  • 谢谢! (你知道1and1吗?如何通过它们与SMTP客户端发送?)

标签: c# asp.net asp.net-mvc email smtp


【解决方案1】:

这是我的更改,现在可以使用了!

Mail.from 和 mail.to 与用于登录的电子邮件地址不同...

这里是固定代码:

 public void Send(Inquiry inquiry)
    {
        SmtpClient smtpClient = new SmtpClient ("smtp.1and1.com",587);
        smtpClient.UseDefaultCredentials = false;
        smtpClient.Credentials = new System.Net.NetworkCredential("mail@mywebsite.com", "mypassword");

        smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
        smtpClient.EnableSsl = true;
        MailMessage mail = new MailMessage();

        //Setting From , To and CC
        mail.From = new MailAddress("mail@mywebsite.com", "myname");
        mail.To.Add(new MailAddress("mail@mywebsite.com"));
        mail.Subject = $"New inquiry from {inquiry.Name}";
        mail.Body = $"From: {inquiry.Name}\n" +
            $"Phone number: {inquiry.PhoneNumber} \n" +
            $"Message: {inquiry.Message}\n \n" +

            $"Recieved: {inquiry.Date}";
       mail.ReplyToList.Add(new MailAddress(inquiry.Email));


        smtpClient.Send(mail);
    }

【讨论】:

  • 有趣。我猜 1&1 比 Google 更严格。
【解决方案2】:

来自1and1 error page

451 请求的操作中止:处理中的本地错误:

邮件无法成功送达,因为服务不正常 暂时不可用。请稍后再试。

请注意:要成功发送电子邮件,重要的是, 除其他外,DNS 查询的解析始终是 由负责的 DNS 服务快速回答。如果问题仍然存在, 因此,您应该通知发件人域的管理员,以便 他可以确保快速的名称解析。

【讨论】:

    猜你喜欢
    • 2018-08-06
    • 1970-01-01
    • 1970-01-01
    • 2013-08-22
    • 2016-04-20
    • 2014-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多