电子邮件支持部分的用户地址为“发件人地址”
我需要在我们的应用程序中实施“电子邮件支持”部分。 因此,电子邮件地址将为admin@mydomain.com,地址为最终用户的电子邮件地址(最终用户的电子邮件地址可能位于相同的域或其他域,如user@mydomain.com或用户@ gmail.com)。
在应用程序中,我使用管理员帐户详细信息(用户名和密码)对电子邮件进行身份验证
System.Net.NetworkCredential("admin@mydomain.com", adminpassword);
此外,我使用主机地址作为“mail.mydomain.com”问题是我收到以下错误:
“信箱不可用。 服务器响应是:发件人地址必须与认证地址匹配“错误消息。
是否可以使用正确的发件人电子邮件地址发送电子邮件(来自地址的用户)
我的代码示例是
message.To.Add(“admin@mydomain.com”);
message.From = new MailAddress(“test@gmail.com”);
message.IsBodyHtml = true;
message.BodyEncoding = Encoding.UTF8;
var smtp = new SmtpClient("mail.mydomain.com");
smtp.Credentials = new System.Net.NetworkCredential(admin@mydomain.com, adminpassword);
smtp.EnableSsl = false;
object usrtkn = message;
smtp.Send(message);
一般而言,From地址不应该是用户本身,它应该是一个内部系统地址。 这主要是因为用户实际上没有发送电子邮件,应用程序是 。 在电子邮件本身中,您可以指定哪个用户发送了它(以及他们的电子邮件地址是什么)。 您甚至可以在邮件的ReplyTo字段中指定用户的电子邮件地址。
但是你从SMTP服务器收到的消息几乎都说明了一切。 如果该消息是来自该用户的“来自”,则SMTP服务器拒绝该消息,因为它对于电子邮件的认证和发起非常敏感。 到SMTP服务器(我想象到任何SMTP服务器),它看起来像你试图欺骗邮件。
你不能做你正在做的事情,因为SMTP服务器不允许你“冒充”用户的电子邮件地址发送到系统。 并且谢天谢地,情况就是如此,否则人们会以别人的名义发送/欺骗所有人。
你为什么试图让它看起来用户正在向应用程序发送电子邮件? 为什么不只是有一个应用程序的支持部分,用户可以“提交”支持系统的请求,然后如果你想发送电子邮件给用户,那么你的方案将工作,但只是在相反(系统是From
地址和用户是To
地址)。
上一篇: Email Support section with the users address as "From address"
下一篇: What are the pros and cons of using an email as a username?