在邮件类 ASP.NET 中分隔发件人



我有这个方法,它会根据我的SQL SELECT向人们发送电子邮件,它的工作原理是这样的:

using (SqlCommand cmd = new SqlCommand("SELECT TITLE, RECIPIENT, SENDER FROM DAY2, CADUSER WHERE CADUSER.ID = ID_CADUSER", con))
{
con.Open();
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
sb.AppendLine(reader["TITLE"].ToString());
st.AppendLine(reader["RECIPIENT"].ToString());
se.AppendLine(reader["SENDER"].ToString());
}
}
SmtpClient smtpClient = new SmtpClient("mysmtp.com", 25);
smtpClient.Credentials = new System.Net.NetworkCredential("______", "______");
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
try
{
MailMessage mailMessage = new MailMessage(se.ToString(), st.ToString());
mailMessage.Subject = "New Documents";
mailMessage.Body = "The documents are: n" + sb.ToString();
smtpClient.Send(mailMessage);
}
catch (ArgumentException)
{
}

问题是,当我有超过 1 个发件人或收件人时,它不起作用,因为 AppendLine 命令将我选择的每个结果都加入一行,如下所示:test@gmail.comtest2@gmail.com使其无法发送。

如何将一个电子邮件地址分开以更正此问题?想过做一段时间的例行公事,但我不知道。

简而言之,试试这个:

MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient();
List<string> To = new List<string>();
To.Add("email1@gmail.com");
To.Add("email1@gmail.com");
foreach (var item in To)
{
mail.To.Add(to);
}
SmtpServer.Send(mail);

看看这个,有很多属性可以帮助你。

我希望这有帮助

最新更新