由于某些原因,“通过Gmail在.NET中发送电子邮件”对我来说都不起作用。他们为什么不工作?
更新:我已经尝试了另一个问题中的所有答案(已接受和其他),但是没有一个起作用。
我只想知道它是否对其他任何人都有效,否则Google可能已经更改了某些内容(以前发生过)。
当我尝试使用的代码片段时SmtpDeliveryMethod.Network
,我很快在Send(message)上收到SmtpException。消息是
SMTP服务器需要安全连接,或者客户端未通过身份验证。
服务器响应为:
5.5.1需要身份验证。进一步了解”。
更新:
这是我很久以前问的一个问题,可接受的答案是我在不同项目上使用过很多次的代码。
我已经采用了本文和其他EmailSender项目中的一些想法,以在Codeplex创建一个EmailSender项目。它旨在实现可测试性,并支持我最喜欢的SMTP服务,例如GoDaddy和Gmail。
CVertex,请确保检查您的代码,如果没有显示任何内容,请将其发布。我只是在我正在测试的ASP.NET网站上启用了它,并且它可以正常工作。
实际上,在某些时候我的代码有问题。我没有发现它,直到在控制台程序上有了一个简单的版本,然后看到它正在工作(您担心的Gmail方面没有任何变化)。下面的代码就像您引用的示例一样工作:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Mail;
using System.Net;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
var client = new SmtpClient("smtp.gmail.com", 587)
{
Credentials = new NetworkCredential("[email protected]", "mypwd"),
EnableSsl = true
};
client.Send("[email protected]", "[email protected]", "test", "testbody");
Console.WriteLine("Sent");
Console.ReadLine();
}
}
}
我还结合使用了web.config,http://msdn.microsoft.com/en-us/library/w355a94k.aspx和代码(因为EnableSsl
在配置文件:()中没有匹配项)来使其工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句