System.Net.Mail
을 사용하는 간단한 메일 보낸 사람 클래스를 사용하고 있습니다. 다양한 사용자가 동일한 smtp 계정을 사용하여 이메일을 보낼 수 있도록 응용 프로그램을 업데이트해야하지만 "보낸 사람"주소는 보낸 사람의 주소 여야합니다. 내가 MailMessage
의 From
속성을 설정하고, MailMessage
의 생성자로 보낸 사람의 주소를 보냈지 만 그 코가 작용했습니다. 나는 메일 API가 어떻게 작동하는지 이해하지 못하거나 무언가를 놓치고 있다고 확신한다. 누구든지 도와 줄 수 있습니까?C#을 사용하여 Gmail을 통해 보낸 메일의 다른 "보낸 사람"주소 설정
기본적으로 MailMessage
, NetworkCredential
및 SmtpClient
을 래핑하는 내 MailSender 클래스는 간단한 메일 보내기 인터페이스를 제공합니다.
class MailSender
{
private NetworkCredential credential;
private String SenderAddress;
private SmtpClient client;
public MailSender(String ServerURL, String account, String password, String FromAddress = null, int port = -1, bool UseSSL = true)
{
if (port > 0)
{
client = new SmtpClient(ServerURL, port);
}
else
{
client = new SmtpClient(ServerURL);
}
credential = new NetworkCredential(account, password);
client.UseDefaultCredentials = false;
client.EnableSsl = UseSSL;
client.Credentials = credential;
if (FromAddress != null)
{
SenderAddress = FromAddress;
}
else
{
SenderAddress = account;
}
}
public bool SendMessage(String to, String subject, String body)
{
try
{
MailMessage message = new MailMessage(SenderAddress, to, subject, body);
message.From = new MailAddress(SenderAddress, "tester");
message.IsBodyHtml = true;
client.Send(message);
}
catch
{
return false;
}
return true;
}
}
IIRC, GMail은 계정 설정에 따라 수정합니다. – leppie
인증을 위해 전달한 자격 증명 이외의 계정에서 메일을 보내지 못하도록하는 것이 좋습니다. –
@leppie와 @Mikael Svenson : 우리 사무실의 smtp에서도 사용해 보았습니다. 같은 결과. – MAK