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(";", ","));
당신이 이것을 선호하든 수용된 대답을 선호하든 그것은 당신에게 달려 있습니다. 틀림없이 루프는 의도를 더 명확하게하지만 이것은 더 짧고 모호하지 않습니다. 그러나 이미 쉼표로 구분 된 목록이 있다면 이것이 갈 길이라고 생각합니다.
답변
문서에 따르면 :
MailMessage.To 속성- 이 전자 메일 메시지의받는 사람 목록이 포함 된 MailAddressCollection 을 반환 합니다.
여기 MailAddressCollection 에는
public void Add(string addresses)
1. Summary:
Add a list of email addresses to the collection.
2. Parameters:
addresses:
*The email addresses to add to the System.Net.Mail.MailAddressCollection. Multiple
*email addresses must be separated with a comma character (",").
따라서 수신자가 여러 명인 경우 요구 사항 :
쉼표로 구분 된 이메일 주소가 포함 된 문자열 전달
귀하의 경우 :
간단히 모두 교체하십시오. 와 함께,
Msg.To.Add(toEmail.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);