110,533
社区成员
发帖
与我相关
我的任务
分享
//MailQueue 是我做的一个队列 里面包含发送邮件所需要的 收件人 CC 主题 邮件内容 以及附件所在的位置。
MailQueue mlq = mlqueue.GetMailQueue();
//while mail recipients is blank , we will execute this job.
try
{
if (mlq.Mail_to != "")
{
//MailAddress mailto;
//MailAddress mailcc;
System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient(strMailserver);
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential(strMailaddress, strMailpwd);
client.DeliveryMethod = SmtpDeliveryMethod.Network;
System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();
if (!File.Exists(mlq.Mail_attach))
{
message.To.Add(new MailAddress(mlq.Mail_admin));
mlq.Mail_subject = mlq.Mail_taskname + " 未发现邮件附件。";
}
else
{
//我的邮件接收人是以;隔开的
string[] mailtoarr;
mailtoarr = mlq.Mail_to.Split(';');
for (int i = 0; i < mailtoarr.Length; i++)
{
if (mailtoarr[i] != "")
message.To.Add(new MailAddress(mailtoarr[i]));
}
string[] mailccarr;
mailccarr = mlq.Mail_cc.Split(';');
for (int i = 0; i < mailccarr.Length; i++)
{
if (mailccarr[i] != "")
message.CC.Add(new MailAddress(mailccarr[i]));
}
}
MailAddress from = new MailAddress(strMailaddress, "ReportMachine/ISD");
message.Priority = MailPriority.Normal;
message.From = from;
message.Subject = mlq.Mail_subject;
message.Body = mlq.Mail_body;
message.IsBodyHtml = true;
System.Net.Mail.Attachment attachment = new System.Net.Mail.Attachment(mlq.Mail_attach);
message.Attachments.Add(attachment);
message.BodyEncoding = System.Text.Encoding.UTF8;
message.IsBodyHtml = true;
client.Send(message);
writelog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " 邮件发送成功!任务名称:" + mlq.Mail_taskname);
//Thread.Sleep(5000);
//if (File.Exists(mlq.Mail_attach))
// File.Delete(mlq.Mail_attach);
}
}
catch (Exception err)
{
writelog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " 邮件发送失败!任务名称:" + mlq.Mail_taskname + " [错误代码]" + err.Message);
}