your programing

MailMessage를 사용하여 여러 수신자에게 이메일을 보내는 방법은 무엇입니까?

lovepro 2020. 10. 15. 08:21
반응형

MailMessage를 사용하여 여러 수신자에게 이메일을 보내는 방법은 무엇입니까?


Sql Server에 여러 전자 메일 수신자가 저장되어 있습니다. 웹 페이지에서 보내기를 클릭하면 모든 수신자에게 이메일을 보내야합니다. ';'로 이메일을 분리했습니다.

다음은 단일 수신자 코드입니다.

MailMessage Msg = new MailMessage();
MailAddress fromMail = new MailAddress(fromEmail);
Msg.From = fromMail;
Msg.To.Add(new MailAddress(toEmail));

if (ccEmail != "" && bccEmail != "")
{
    Msg.CC.Add(new MailAddress(ccEmail));
    Msg.Bcc.Add(new MailAddress(bccEmail));
}

SmtpClient a = new SmtpClient("smtp server name");
a.Send(Msg);
sreader.Dispose();

쉬운!

";"에서 수신 주소 목록을 분할하기 만하면됩니다. 문자, 메일 메시지에 추가 :

foreach (var address in addresses.Split(new [] {";"}, StringSplitOptions.RemoveEmptyEntries))
{
    mailMessage.To.Add(address);    
}

이 예에서는 addresses" address1@example.com;address2@example.com"를 포함 합니다.


Adam Miller가 의견에서 제안했듯이 다른 솔루션을 추가하겠습니다.

MailMessage (String from, String to) 생성자는 쉼표로 구분 된 주소 목록을 허용합니다. 따라서 이미 쉼표 ( ',')로 구분 된 목록이있는 경우 사용법은 다음과 같이 간단합니다.

MailMessage Msg = new MailMessage(fromMail, addresses);

이 특별한 경우 ';'를 대체 할 수 있습니다. ','에 대해 여전히 생성자를 사용하십시오.

MailMessage Msg = new MailMessage(fromMail, addresses.replace(";", ","));

당신이 이것을 선호하든 수용된 대답을 선호하든 그것은 당신에게 달려 있습니다. 틀림없이 루프는 의도를 더 명확하게하지만 이것은 더 짧고 모호하지 않습니다. 그러나 이미 쉼표로 구분 된 목록이 있다면 이것이 갈 길이라고 생각합니다.


다음 powershell 스크립트를 사용하고 주소 사이에 (,)를 사용하여 이것을 테스트했습니다. 그것은 나를 위해 일했습니다!

$EmailFrom = "<from@any.com>";
$EmailPassword = "<password>";
$EmailTo = "<to1@any.com>,<to2@any.com>";
$SMTPServer = "<smtp.server.com>";
$SMTPPort = <port>;
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer,$SMTPPort);
$SMTPClient.EnableSsl = $true;
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential($EmailFrom, $EmailPassword);
$Subject = "Notification from XYZ";
$Body = "this is a notification from XYZ Notifications..";
$SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body);

참고 URL : https://stackoverflow.com/questions/23484503/how-to-send-email-to-multiple-recipients-with-mailmessage

반응형