【发布时间】:2014-03-07 22:22:17
【问题描述】:
我正在尝试使用我的 asp.net 应用程序发送电子邮件。这是我的代码:
string smtpServer = ConfigurationManager.AppSettings["smtpServer"].ToString();
int smtpPort = int.Parse(ConfigurationManager.AppSettings["smtpPort"]);
string smtpUser;
string smtpPwd;
if (administrativo)
{
smtpUser = ConfigurationManager.AppSettings["smtpUser"].ToString();
smtpPwd = ConfigurationManager.AppSettings["smtpPwd"].ToString();
//smtpUser = "licitacoeslic@gmail.com";
//smtpPwd = "liclicitacoes";
}
else
{
smtpUser = ConfigurationManager.AppSettings["smtpNoReplyUser"].ToString();
smtpPwd = ConfigurationManager.AppSettings["smtpNoReplyPwd"].ToString();
//smtpUser = "licitacoeslic@gmail.com";
//smtpPwd = "liclicitacoes";
}
bool smtpSslEnabled = bool.Parse(ConfigurationManager.AppSettings["smtpSslEnabled"]);
SmtpClient smtpClient = new SmtpClient();
smtpClient.Host = smtpServer;
if (smtpPort > 0)
smtpClient.Port = smtpPort;
if (smtpUser != String.Empty)
smtpClient.Credentials = new NetworkCredential(smtpUser, smtpPwd);
smtpClient.EnableSsl = smtpSslEnabled;
//transforma a mensagem de e-mail em html para habilitar o uso do logo
MailMessage mm = new MailMessage(de, para, assunto, texto);
mm.IsBodyHtml = true;
smtpClient.Send(mm);
我已尝试将 465 和 587 作为端口号,交换了我的凭据,因为显然,我的 web.config 中的旧版本不再存在,通过 cmd ping smtp.gmail.com 并且它工作正常。编辑:您似乎需要通过这种方法使用 gmail 帐户。是的,我正在使用一个。
有趣的是:同样的代码,昨天工作。我在这里有什么遗漏吗?
编辑:这是经过一些测试后发生的情况:
1) 我尝试使用我的私人 gmail 帐户查看是否会引发相同的超时异常。有效。我创建的作为凭据一部分的 gmail 帐户不起作用。
2) 现在,当我尝试查看我创建的 gmail 帐户是否有效时,我得到了这个异常:
5.4.5 已超出每日发送配额。 n4sm29019478yhc.13 - gsmtp
那么,什么?我每天可以发送的电子邮件数量有限制吗?
【问题讨论】: