【发布时间】:2013-09-06 19:13:22
【问题描述】:
大家好。我写了一个基于asp.net mvc3的项目。部分项目基于从我的应用程序发送电子邮件。
public void SendEmail(string address, string subject, string message, int id)
{
string email = "emailname@gmail.com";
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 Authentication Required。
我尝试将端口更改为 465,但它会在主机上给我一个 tcp_ip 错误。还有一个:当用户尝试从这个邮箱发送电子邮件时,谷歌告诉我应用程序上有可疑活动。这是因为我在一个国家托管,而我在另一个国家。
我不知道接下来我要做什么。我试过谷歌搜索,发现一些关于 2 级注册的信息,但不明白我需要如何在我的方法中实现它。
我正在使用 arvixe 托管。也许其他人也有同样的问题?
【问题讨论】:
-
您是否超出了每日电子邮件限制? Google 的 SMTP 每天只允许发送几百封电子邮件。当您超过该值时,您会收到您描述的确切错误消息。
-
不,如果我不能发送一封邮件,我怎么能超过每日限额?并且在本地一切正常
-
以及我今天从这个账户本地发送的所有邮件不超过20
-
Insted of var msg try MailMessage msg and Replace var smtpClient with SmtpClient smtpClient and try.
-
我试过了,但什么也没发生。同样的错误
标签: c# asp.net asp.net-mvc-3 email hosting