SMTP 服务器无法从托管 c# asp.net 发送电子邮件

问题描述 投票:0回答:2

祝大家有美好的一天。我写了一个基于asp.net mvc3的项目。项目的一部分是基于从我的应用程序发送电子邮件。

public void SendEmail(string address, string subject, string message, int id)
{
        string email = "[email protected]";
        string password = "somepassword";

        var loginInfo = new NetworkCredential(email, password);
        var msg = new MailMessage();
        var smtpClient = new SmtpClient("smtp.gmail.com", 587);

        msg.From = new MailAddress(email);
        msg.To.Add(new MailAddress(address));
        msg.Subject = subject;
        msg.Body = message;
        msg.IsBodyHtml = true;
        msg.Attachments.Add(new Attachment(Server.MapPath("~/Content/StudentPdf/student" + id + ".pdf")));

        smtpClient.EnableSsl = true;
        smtpClient.UseDefaultCredentials = false;
        smtpClient.Credentials = loginInfo;
        smtpClient.Send(msg);

}

此代码在本地运行,完美发送电子邮件。但是当我将其上传到托管时,它会导致错误

SMTP 服务器需要安全连接,或者客户端不需要 已验证。服务器响应是:5.5.1 需要身份验证。

我尝试将端口更改为 465,但随后主机上会出现 tcp_ip 错误。还有一件事:当用户尝试从该邮箱发送电子邮件时,谷歌会告诉我应用程序上存在可疑活动。这是因为我在一个国家托管,而我在另一个国家。

我不知道接下来要做什么。我尝试过谷歌搜索,发现了一些关于 2 级注册的信息,但不明白我需要如何在我的方法中实现它。

我正在使用 arvixe 托管。 也许其他人也有同样的问题?

c# asp.net asp.net-mvc-3 email hosting
2个回答
1
投票

请手动登录您的 gmail 帐户,并在 gmail 设置下允许您的主机 IP。这就是为什么我认为它在您的本地工作得很好。 我也遇到了同样的情况,这样做之后就没有问题了。


0
投票

检查[此处][1]

[1]: https://programingsolution.blogspot.com/2024/09/problem-to-send-mail-c-aspnet-hosting.html 最好使用您的域名电子邮件 ID

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.