在 ASP.NET/C# 应用程序 (mvc3) 中,我希望能够发送邮件。
这是我正在使用的功能:
public static void SendEmail(string fromEmail, string fromName, string toEmail, string toName, string subject, string emailBody, bool isBodyHtml, string[] attachments, string emailServer, int portNumber, string loginName, string loginPassword)
{
// setup email header
System.Net.Mail.MailMessage mailMessage = new System.Net.Mail.MailMessage();
// Set the message sender
// sets the from address for this e-mail message.
mailMessage.From = new System.Net.Mail.MailAddress(fromEmail, fromName);
// Sets the address collection that contains the recipients of this e-mail message.
string[] toEmailList = toEmail.Split(',');
string[] toNameList = toName.Split(',');
for (int i = 0;i<toEmailList.Length;++i)
{
mailMessage.To.Add(new System.Net.Mail.MailAddress(toEmailList[i],toNameList[i]));
}
// mailMessage.To.(new System.Net.Mail.MailAddress(toEmail, toName));
// sets the message subject.
mailMessage.Subject = subject;
// sets the message body.
mailMessage.Body = emailBody;
// sets a value indicating whether the mail message body is in Html.
// if this is false then ContentType of the Body content is "text/plain".
mailMessage.IsBodyHtml = isBodyHtml;
// add all the file attachments if we have any
if (attachments != null && attachments.Length > 0)
foreach (string _Attachment in attachments)
mailMessage.Attachments.Add(new System.Net.Mail.Attachment(_Attachment));
// SmtpClient Class Allows applications to send e-mail by using the Simple Mail Transfer Protocol (SMTP).
System.Net.Mail.SmtpClient _SmtpClient = new System.Net.Mail.SmtpClient(emailServer);
//Specifies how email messages are delivered. Here Email is sent through the network to an SMTP server.
_SmtpClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
// Some SMTP server will require that you first authenticate against the server.
// Provides credentials for password-based authentication schemes such as basic, digest, NTLM, and Kerberos authentication.
System.Net.NetworkCredential _NetworkCredential = new System.Net.NetworkCredential(loginName, loginPassword);
_SmtpClient.UseDefaultCredentials = false;
_SmtpClient.Credentials = _NetworkCredential;
_SmtpClient.Port = portNumber;
//Let's send it
try
{
_SmtpClient.Send(mailMessage);
mailMessage.Dispose();
_SmtpClient = null;
}
catch (Exception ex)
{
throw ex;
}
}
一切都适用于个人电子邮件。
问题是这样的:
如果其中一个 TO 电子邮件(我要发送到的电子邮件)是组电子邮件,则它不会发送给它。
通过群组电子邮件,我的意思是附有多个联系人的电子邮件,当有人将其发送到该电子邮件时,他们都会收到该消息。
群组电子邮件示例
如果有人向 MyFamily@somedomain.com 发送电子邮件,我的所有家人都会收到它。
我怎样才能使它适用于所有类型的电子邮件,而不仅仅是个人电子邮件。
非常感谢您的帮助