我一直在努力制作一个简单的电子邮件发送APP,我被这个错误阻止,我似乎找不到任何有这个问题的人(有点无法搜索到什么)
因此,当我尝试发送电子邮件时,我遇到此错误,它只是使用我的SMTP主机名称返回此错误,
交易失败。服务器响应是:smtp.host.com
如果我查看跟踪,它会在
处崩溃在System.Net.Mail.SmtpConnection.GetConnection(ServicePoint servicePoint)
这是代码示例,没什么特别的。
MailMessage mail = new MailMessage();
mail.From = new MailAddress(CurrentUser.email);
mail.Subject = txtSubject.Text;
mail.Body = txtMailBody.Text;
try
{
foreach (ListItem user in lbSelectedUsr.Items)
{
mail.To.Add(new MailAddress(user.email));
}
SmtpClient mailClient = new SmtpClient("smtp.host.com");
mailClient.Send(mail);
lblResultOK.Visible = true;
}
catch(Exception ex)
{
lblResultOK.Visible = true;
}
请注意,为了样本,SMTP是假的。
我尝试使用无效的SMTP并且它给了我不同的错误,所以SMTP似乎没问题, 我也试图把凭证,同样的错误。有关正在发生的事情的暗示吗?
答案 0 :(得分:0)
尝试通过谷歌smtp发送,如果每个人都可以,那么将其更改为您的smtp服务器信息。如果您这样做,如果您的问题仍然存在,那么您必须检查您的smtp服务器。
答案 1 :(得分:0)
我在Web.Config文件中正确设置了SMTP配置吗? 我想说尝试通过host =“smtp.gmail.com”
发送一封示例电子邮件<system.net>
<mailSettings>
<smtp deliveryMethod="Network" from="emailAddress">
<network host="smtp.gmail.com" port="587" userName="emailAddress" password="password" defaultCredentials="false"/>
</smtp>
</mailSettings>
答案 2 :(得分:0)
服务器不接受来自运行您应用的计算机的中继。适当配置服务器,或在已配置为中继的计算机上运行代码(通常是域中的所有计算机;我认为您的计算机属于与SMTP服务器不同的域)。
答案 3 :(得分:0)
Below code must be placed in web.config. The attention point is defaultCredentials="false"
<system.net>
<mailSettings>
<smtp from="aaa@yourdomain.com">
<network host="mail.yourdomain.com" userName="aaa@yourdomain.com" password="your password" port="587" defaultCredentials="false"/>
</smtp>
</mailSettings>
答案 4 :(得分:-1)
MailMessage mail = new MailMessage();
mail.From = new MailAddress(CurrentUser.email);
mail.Subject = txtSubject.Text;
mail.Body = txtMailBody.Text;
try
{
foreach (ListItem user in lbSelectedUsr.Items)
{
mail.To.Add(new MailAddress(user.email));
}
SmtpClient mailClient = new SmtpClient("smtp.host.com");
mailClient.EnableSsl = true
mailClient.Send(mail);
lblResultOK.Visible = true;
}
catch(Exception ex)
{
lblResultKO.Visible = true;
}