0

重新提出问题

此代码不起作用

错误是: The remote certificate is invalid according to the validation procedure.

var client = new SmtpClient("smtp.domain.com.br", 25000)
{
    Credentials = new NetworkCredential("username", "password"),
    EnableSsl = true
};
client.Send("emailfrom@domain.com.br", "emailto@gmail.com", "test", "testbody");
// I also tested like this
// client.Send("emailfrom@domain.com.br", "emailto@domain.com", "test", "testbody");

但是这段代码有效

var client = new SmtpClient("smtp.gmail.com", 587)
{
    Credentials = new NetworkCredential("username", "password"),
    EnableSsl = true
};
client.Send("emailfrom@domain.com.br", "emailto@gmail.com", "test", "testbody");

我在 Outlook 中测试了第一个代码数据,如果我尝试从同一域发送电子邮件,则可以正常工作。

我相信错误是一些 SMTP 配置,但我不知道如何解决这个问题。有什么帮助吗?

4

4 回答 4

1

您使用哪个 smtp 服务器?如果您使用的是 gmail smtp 服务器,那么您必须使用通过 gmail 发送所需的端口号 587

于 2012-09-13T18:07:15.137 回答
0

我使用 Outlook 中生成的数字证书解决了这个问题,并将其放在运行我的应用程序的服务器上。

有了我问题中的代码加上证书,我终于成功了。

这是有关如何执行此操作的链接:创建您自己的数字证书

于 2012-09-26T17:31:38.780 回答
0

根据下面的答案,您可以从 .config 文件中传递值,但您必须更改我所拥有的 ..如果您愿意,请先使用硬编码值对此进行测试,然后将工作版本转换为使用参数值

using System.Net;
using System.Net.Mail;

var fromAddress = new MailAddress("from@gmail.com", "From Name");
var toAddress = new MailAddress("to@example.com", "To Name");
const string fromPassword = "fromPassword";
const string subject = "Subject";
const string body = "Body";

var _smtpClient = new SmtpClient
           {
               Host = "smtp.gmail.com",
               Port = 587,
               EnableSsl = true,
               DeliveryMethod = SmtpDeliveryMethod.Network,
               UseDefaultCredentials = false,
               Credentials = 
                  new NetworkCredential(fromAddress.Address, fromPassword)
           };
using (var message = new MailMessage(fromAddress, toAddress)
                     {
                         Subject = subject,
                         Body = body
                     })
{
    _smtpClient.Send(message);
}
于 2012-09-13T18:21:34.970 回答
0

您是否尝试过端口 465。也许您可以查看这篇文章。

http://support.google.com/mail/bin/answer.py?hl=en&answer=13287

于 2012-09-13T18:29:22.390 回答