使用C#通过Gmail SMTP服务器发送电子邮件
由于某些原因,“
通过Gmail在.NET中发送电子邮件 ”对我来说都无法使用被接受的答案。他们为什么不工作?
更新:我已经尝试了另一个问题中的所有答案(已接受和其他),但是没有一个起作用。
我只想知道它是否对其他任何人都有效,否则Google可能已经更改了某些内容(以前发生过)。
当我尝试使用的代码段时SmtpDeliveryMethod.Network
,我很快在Send(message)上收到SmtpException。消息是
SMTP服务器需要安全连接,或者客户端未通过身份验证。
服务器响应为:
5.5.1需要身份验证。进一步了解”。
这是我很久以前问过的一个问题,可接受的答案是我在不同项目上使用过很多次的代码。
我已经采用了本文和其他EmailSender项目中的一些想法,以在Codeplex创建一个EmailSender项目。它旨在实现可测试性,并支持GoDaddy和Gmail等我最喜欢的SMTP服务。
回答:
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("myusername@gmail.com", "mypwd"),
EnableSsl = true
};
client.Send("myusername@gmail.com", "myusername@gmail.com", "test", "testbody");
Console.WriteLine("Sent");
Console.ReadLine();
}
}
}
我还结合使用了web.config,http://msdn.microsoft.com/en-
us/library/w355a94k.aspx和代码(因为EnableSsl
配置文件:()中没有匹配项)来使它工作。
以上是 使用C#通过Gmail SMTP服务器发送电子邮件 的全部内容, 来源链接: utcz.com/qa/414805.html