我有一个发送电子邮件的代码:
public static bool SendEmail(
string fromEmail, string toEmail,
string subject, string body,
bool isBodyHtml = false, bool isThrowException = false)
{
var message = new MailMessage(fromEmail, toEmail)
{
IsBodyHtml = isBodyHtml,
Subject = subject,
Body = body,
};
using (var client = new SmtpClient())
{
try
{
client.Send(message);
}
catch (Exception ex)
{
if (isThrowException)
{
throw new Exception(ex.ToString());
}
}
}
return true;
}
在web.config
我有:
<system.net>
<mailSettings>
<smtp>
<network host="smtp.bizmail.yahoo.com" port="25" enableSsl="true" userName=helpdesk@global.com" password="@cr123" defaultCredentials="true"/>
</smtp>
</mailSettings>
</system.net>
</configuration>
现在我没有任何例外,仍然没有收到邮件的另一端。 我可以通过我的凭据登录yahoo.com。 仍然
client->credentils->domain=""
client->ServicePoint = 'client.ServicePoint' threw an exception of type 'System.TypeInitializationException'
它出了什么问题?
代码运行良好...在1个月之前,我没有改变一行,出了什么问题?
答案 0 :(得分:0)
在代码中添加连接属性和凭据:
NetworkCredentials Credencials = new NetworkCredential(SmtpUsername, SmtpPassword);
client.Host = SmtpHost;
client.Port = SmtpPort;
client.Credentials = Credencials;
答案 1 :(得分:0)
首先感谢所有试图帮助你的人。
在我提到的问题中,在创建smtp的新对象时出错。
smtp将读取web.config并创建一个与web.config相关的对象。 所以我开始知道问题出在web.config上。我也确定C#代码没有任何问题。所以我分析了web.config并找到了一些过滤器。
from datetime import datetime, timedelta
from pytz import timezone
import pytz
eastern = timezone('US/Eastern')
loc_dt = eastern.localize(datetime(2002, 10, 27, 6, 0, 0))
print(loc_dt.strftime('%Z'))
基本上我用它来删除azure版本的错误信息。
在创建smtp对象时导致Serverpoint出现问题。 所以我刚删除了这条线。它运作良好。
我不仅知道smtp标签,web.config文件中的其他标签也会影响当前的问题。