尝试在我的 C# 应用程序中发送一些电子邮件。我在代理后面 - 这无疑是代码无法正常工作的原因。这是我目前所拥有的:
App.Config:
<system.net>
<defaultProxy enabled="false">
<proxy proxyaddress="xxx.xxx.xxx.xxx"/>
</defaultProxy>
<mailSettings>
<smtp deliveryMethod="Network">
<network host="smtp.gmail.com" port="587"/>
</smtp>
</mailSettings>
</system.net>
代码:
var username = "...";
var password = "...";
var fromEmail = "...";
var toEmail = "...";
var body = "Test email body";
var subject = "Test Subject Email";
var client = new SmtpClient("smtp.gmail.com", 587)
{
Credentials = new NetworkCredential(username, password),
EnableSsl = true
};
try
{
client.Send(fromEmail, toEmail, subject, body);
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
每次我得到 System.Net.WebException: The remote name could not be resolved: 'smtp.gmail.com'
我从哪里/如何开始调试?
最佳答案
要调试涉及客户端服务器的任何事情,telnet 是您的 friend 。
尝试进入 DOS 并输入:
telnet smtp.gmail.com 587
你应该看到:
220 mx.google.com ESMTP 20sm950596pzk.3
如果你不这样做(你会收到“无法连接”或类似的消息),你肯定会被阻止。
如果您没有安装 telnet,您可以从“windows 组件”下的添加/删除程序中安装它。
关于c# - 使用gmail smtp通过代理发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2642894/