使用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

回到顶部