【发布时间】:2020-06-08 21:47:10
【问题描述】:
我正在使用 .Net Core 3.1 下面给出的是我的简单代码
static async System.Threading.Tasks.Task Main(string[] args)
{
var smtpClient = new SmtpClient()
{
Host = "leadsearch.localdomain",
Port = 25,
EnableSsl = true,
UseDefaultCredentials = true
};
var msg = new MailMessage("noreply@myhost.com", "mypersonalemail@gmail.com");
msg.Subject = "Sent from Abdul Moiz";
msg.Body = "<h1>Moiz Body of msg</h1>";
msg.IsBodyHtml = true;
await smtpClient.SendMailAsync(msg);
Console.WriteLine("Done!!!");
}
但是,我的后缀配置正确并且正在发送电子邮件,我使用以下命令对其进行了测试。
echo "This is the body of the email" | mail -s "This is the subject line" mypersonalemail@gmail.com
然后我进入我的收件箱,在垃圾邮件文件夹中找到了电子邮件,我尝试从终端多次运行它,它在终端上运行得非常好。但是当我尝试使用上面给出的 c# 代码发送它时,我得到了这个错误。
Unhandled exception. System.Net.Mail.SmtpException: Failure sending mail.
---> System.Net.Internals.SocketExceptionFactory+ExtendedSocketException (00000005, 0xFFFDFFFF): Name or service not known
at System.Net.Dns.InternalGetHostByName(String hostName)
at System.Net.Dns.ResolveCallback(Object context)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw(Exception source)
at System.Net.Dns.HostResolutionEndHelper(IAsyncResult asyncResult)
at System.Net.Dns.EndGetHostAddresses(IAsyncResult asyncResult)
at System.Net.Sockets.Socket.DoDnsCallback(IAsyncResult result, MultipleAddressConnectAsyncResult context)
at System.Net.Sockets.Socket.DnsCallback(IAsyncResult result)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw(Exception source)
at System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)
at System.Net.Sockets.TcpClient.EndConnect(IAsyncResult asyncResult)
at System.Net.Mail.SmtpConnection.ConnectAndHandshakeAsyncResult.InitializeConnectionCallback(IAsyncResult result)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw(Exception source)
at System.Net.Mail.SmtpConnection.ConnectAndHandshakeAsyncResult.End(IAsyncResult result)
at System.Net.Mail.SmtpTransport.EndGetConnection(IAsyncResult result)
at System.Net.Mail.SmtpClient.ConnectCallback(IAsyncResult result)
--- End of inner exception stack trace ---
at MailSenderConsoleApp.Program.Main(String[] args) in C:\Users\moiz.baig\source\repos\MailSenderConsoleApp\MailSenderConsoleApp\Program.cs:line 25
at MailSenderConsoleApp.Program.<Main>(String[] args)
Aborted (core dumped)
当我检查 here 提到的我的 localhost SMTP 服务器主机名时,我得到了以下结果
postconf -d myhostname
myhostname = leadsearch.localdomain
我的 Linux 操作系统详细信息,我的构建部署在哪里:
Distributor ID: Ubuntu
Description: Ubuntu 18.04.3 LTS
Release: 18.04
Codename: bionic
我不知道我做错了什么,但这根本不起作用
【问题讨论】: