答案 0 :(得分:3)
提供给SMTP服务器的FROM是SmtpClient的登录名,而Mail中的FROM是MailMessage中的FROM。
SmtpClient smtp = new SmtpClient();
smtp.Host = "myserver.address.com";
smtp.Credentials = new NetworkCredential("me@server.com", "myPassword");
MailMessage msg = new MailMessage();
msg.From = "otherMe@server.com";
//OTHER MESSAGE SETTINGS
smtp.Send(msg);
这应该使用服务器上的用户“me@server.com”发送来自“otherMe@server.com”的电子邮件
答案 1 :(得分:1)
Java示例是关于返回地址,而不是From。
据我所知,你不能这样做。 SMTP服务器使用“发件人”地址来决定是否要中继。
您获得的唯一其他凭据是登录SMTP服务器。
答案 2 :(得分:1)
底线是,你不能这样做。 System.Net.Mail中使用的FROM地址用于SMTP事务(Envelope-From)和来自标头值的MailMessage。
对不起,
戴夫
答案 3 :(得分:-1)
不幸的是,这是不可能的。
首先,smtp.Host = smtp.serv.com;
存在语法错误。这不是有效的书写字符串类型,第二个是属性Host
不存在。
答案 4 :(得分:-1)
作为explained by bzlm,如果您正在使用SmtpClient的网络投放方式,则可以通过设置MailMessage.Sender属性来设置MAIL FROM。但是,请注意,这会产生副作用,即在您的邮件中添加发件人头条,这将导致许多电子邮件客户端显示邮件发件人为" X代表Y"。