2017-06-04 198 views
0

我有一个基本的SmtpClient,我用它来发送电子邮件。如何从ASP.NET的* any *电子邮件地址发送电子邮件?

using (var client = new SmtpClient()) 
using (var mail = new MailMessage()) 
{ 
    mail.From = new MailAddress(fromEmailAddress); 
    mail.Body = "body text"; 
    mail.To.Add(new MailAddress(myEmailAddress)); 
    client.Send(mail); 
} 

此代码工作得很好,如果我设置fromEmailAddress一个真正的e-mail地址。如果我将其设置为假冒的电子邮件地址,我们假设[email protected],代码发送的消息,但是我没有收到的电子邮件。

我在联系表单上使用它,其中有一个用于其电子邮件的字段和一个用于其消息的字段。


有没有办法发送电子邮件,无论电子邮件是否有效? (在PHP的mail方法中,这是可能的)

或者,是否可以检查电子邮件是否已被我收到? (向用户显示错误)

+0

是否使用相同的SMTP服务器,你与你的PHP代码使用? – Frode

+1

检出MimeKit/MailKit。它的开源代码和NuGet包可用 – Frode

回答

2

您在考虑结束事宜时犯了错误。

重要的是多么愚蠢 - 在这些日子里,你可以放弃 - 接收电子邮件服务器关注垃圾邮件。

您的电子邮件简直就是垃圾邮件,它很可能是显而易见的 - 就像您发送的“来自”(假地址)域名,或者不存在或者拥有SPF或其他记录允许的发件人 - 您不清楚不是其中之一。

简单那样。互联网是一个糟糕的地方,每个系统管理员都不是全白痴的人部署反垃圾邮件机制。

现在,如果你提出某种形式或那样的东西......你的错。多次看过。你不能这么做 - 因为域受到保护。这意味着你不能假装你可以代表另一个域名发送。我有时会看到这种类型的联系表格 - 程序员错误地不了解我的域名拥有SPF记录。

1

C#放在一边,如果你能避免它,这不是一个好主意。设置“发件人”字段实际上并不实际从该地址发送 - 例如,这意味着任何人都可以冒充您的银行。

大多数邮件提供商在垃圾邮件评分方面的评价都很差 - 这意味着如果您从未授权发送的域名发送邮件,您可能会遇到邮件递送问题 - 而且至少有一种可能的原因为什么你遇到虚假地址的问题。

下面是关于为什么这是不好的一些更多的信息(见点#4),以及其他一些有用的提示 - https://www.campaignmonitor.com/blog/email-marketing/2015/09/9-things-that-are-killing-your-email-deliverability/

相关问题