我已经有邮件服务,但我需要使用与地址不同的地址,因为此服务被许多服务使用。 现在,我有这样的代码,它工作正常:使用与地址不同的地址发送邮件
public static bool SendMail(Mail mail)
{
var smtp = new SmtpClient();
var credential = (NetworkCredential) smtp.Credentials;
var mailMessage = new MailMessage
{
From = new MailAddress(credential.UserName, mail.DisplayName),
Subject = mail.Subject,
Body = mail.Body,
IsBodyHtml = true
};
mailMessage.To.Add(new MailAddress(mail.To));
if (!string.IsNullOrEmpty(mail.TemplatePath))
mailMessage = embedImages(mailMessage, mail);
smtp.Send(mailMessage);
return true;
}
> And the web.config:
<mailSettings>
<smtp from="[email protected]">
<network host="smtp.gmail.com" enableSsl="true" port="587" userName="[email protected]" password="123456" />
</smtp>
</mailSettings>
> The Mail parameter, is an object:
public class Mail
{
public string Subject { get; set; }
public string Body { get; set; }
public string To { get; set; }
public string TemplatePath { get; set; }
public string DisplayName { get; set; }
public string From { get; set; }
}
所以,在默认情况下,它应该使用mailSettings,但是,如果物业mail.From = null,则应该可以通过邮寄!
感谢
然后将地址更改为类似于NoReply @无论您在代码中的哪个地方从'mailSettings'中读取? – MethodMan