У меня уже есть почтовая служба, но мне нужно использовать разные адреса, потому что эта служба используется многими службами. Теперь у меня есть этот код, который работает отлично:Отправлять почту, используя разные адреса
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 свойство = нуль, оно должно быть отправлено по этой почте!.
Благодаря
затем измените адрес с адреса на что-то вроде NoReply @ Независимо от того, где в коде вы читаете из 'mailSettings'? – MethodMan