使用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。
将SMTPClient
与SMTP Authentication
和SSL
(如果支持)。
代码示例:
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