相关疑难解决方法(0)

通过C#通过Google Apps帐户发送电子邮件

我有一个标准的Google Apps帐户.我已通过Google Apps设置了自定义域名.当我使用Gmail界面时,我可以通过Google Apps成功发送和接收电子邮件.但是,我想通过代码发送电子邮件.为了尝试这个,我一直在尝试以下代码:

MailMessage mailMessage = new MailMessage();
mailMessage.To.Add("someone@somewhere.com");
mailMessage.Subject = "Test";
mailMessage.Body = "<html><body>This is a test</body></html>";
mailMessage.IsBodyHtml = true;

// Create the credentials to login to the gmail account associated with my custom domain
string sendEmailsFrom = "emailAddress@mydomain.com";             
string sendEmailsFromPassword = "password";
NetworkCredential cred = new NetworkCredential(sendEmailsFrom, sendEmailsFromPassword);

SmtpClient mailClient = new SmtpClient("smtp.gmail.com", 587);
mailClient.EnableSsl = true;
mailClient.DeliveryMethod = SmtpDeliveryMethod.Network;
mailClient.UseDefaultCredentials = false;
mailClient.Timeout = 20000;
mailClient.Credentials = cred;
mailClient.Send(mailMessage); 
Run Code Online (Sandbox Code Playgroud)

到达Send方法时,抛出异常,指出:

"SMTP服务器需要安全连接或客户端未经过身份验证.服务器响应为:5.5.1需要身份验证."

如何通过Google通过自定义域发送电子邮件?

谢谢!

c# smtp google-apps

64
推荐指数
2
解决办法
6万
查看次数

通过所有端口上的C#.Net错误GMail SMTP

我一直在努力寻找这个问题,到目前为止一直在悲惨地失败.我最近的尝试是从这个堆栈代码中解除的: 通过带有C#的Gmail SMTP服务器发送电子邮件,但我已经尝试了我可以在堆栈和其他地方找到的所有语法.我的代码目前是:

var client = new SmtpClient("smtp.gmail.com", 587)
{
    Credentials = new NetworkCredential("me@gmail.com", "mypass"),
    EnableSsl = true
};

client.Send("me@gmail.com","me@gmail.com","Test", "test message");
Run Code Online (Sandbox Code Playgroud)

运行该代码给我一个立即异常"发送邮件失败",其中包含"无法连接到远程服务器"的内容.

如果我将端口更改为465(如gmail文档建议的那样),我每次都会超时.

我已经读过465不是一个好用的端口,所以我想知道这笔交易是什么让我无法连接.我的用户和通行证是对的.我已经读过我必须在我的Gmail帐户上设置POP服务,所以我这样做了.徒劳无功.

我原本试图让我的品牌GMail帐户工作,但遇到同样的问题,我认为我/我的常规Gmail帐户将更容易...到目前为止,情况并非如此.

.net c# gmail

11
推荐指数
3
解决办法
3万
查看次数

标签 统计

c# ×2

.net ×1

gmail ×1

google-apps ×1

smtp ×1