使用C#发送没有SMTP服务器的电子邮件?

我正在制作一个简单的网站。 它托管在我的VPS上,我运行IIS 7并具有完全访问权限。 DNS已设置并已配置,但未配置任何邮件服务器或任何内容。

我希望用户能够通过一个非常简单的表单发送反馈。

但是,我没有SMTP服务器(我知道)。

string from = ""; string to = "someemails@hotmail.com"; string subject = "Hi!"; string body = "How are you?"; SmtpMail.SmtpServer = "mail.example.com"; SmtpMail.Send(from, to, subject, body); 

我想将邮件发送到免费的电子邮件帐户,但我不知道如何,因为我没有SMTP服务器。

还有其他方法可以做到吗? 或者一些替代方案(比如使用免费的smpt或其他东西)

谢谢

作为替代方案,在您的配置文件中,您可以放置

          

这将导致所有已发送的邮件发送到specifiedPickupDirectory中的磁盘,而不必配置SMTP设置。

不建议直接从您的代码向接收邮件服务器发送电子邮件,就像在接收邮件服务器上运行您自己的邮件服务器一样。 正确运行邮件服务器以确保可靠地传送电子邮件。 例如,其中一件事(非常重要)是拥有正确的反向DNS记录 (披露:我工作的公司的文档链接)。

相反,您应该通过真实的电子邮件服务器转发您的电子邮件 您可以使用您已有的任何电子邮件地址的SMTP服务器,包括Gmail。

SMTPClientSMTP AuthenticationSSL (如果支持)。

代码示例:

 using System.Net; using System.Net.Mail; string fromEmail = "FromYou@gmail.com"; MailMessage mailMessage = new MailMessage(fromEmail, "ToAnyone@example.com", "Subject", "Body"); SmtpClient smtpClient = new SmtpClient("smtp.gmail.com", 587); smtpClient.EnableSsl = true; smtpClient.UseDefaultCredentials = false; smtpClient.Credentials = new NetworkCredential(fromEmail, "password"); try { smtpClient.Send(mailMessage); } catch (Exception ex) { //Error //Console.WriteLine(ex.Message); Response.Write(ex.Message); } 

没有smtp服务器是不可能的,但你可以使用你的emailprovider或像turbosmtp这样的免费smtp http://www.serversmtp.com/en/free-smtp-server