private void Send(MailReceiver mr) { SmtpClient client = new SmtpClient(); var mail = new MailMessage(); mail.To.Add(mr.MailAddress); string from = client.Credentials.GetCredential(client.Host, client.Port, "Basic").UserName; mail.From = new MailAddress(from, User, Encoding.UTF8); mail.Subject = Subject; mail.SubjectEncoding = Encoding.UTF8; mail.Body = Body; mail.BodyEncoding = Encoding.UTF8; mail.IsBodyHtml = false; mail.Attachments.Add(new Attachment(mr.AppendixPath)); client.Timeout = 5000; object userToken = mail; try { client.SendAsync(mail, userToken); client.SendCompleted += client_SendCompleted; } catch (Exception ex) { if (SendCompleted != null) { string log = string.Format("发送异常:{0}", ex.Message); SendCompleted(log); } mail.Dispose(); } }
private void btnTest_Click(object sender, EventArgs e) { if (_mailsend == null) { _mailsend = new MailSender(); } _mailsend.Body = "Test"; _mailsend.Subject = "Test"; _mailsend.User = "******"; _mailsend.SendCompleted += OnSendCompleted; var ml = new List <MailReceiver>(); var ms = new MailReceiver(); ms.MailAddress = @"*****@*****.**"; ms.AppendixPath = @"d:\1.txt"; ml.Add(ms); _mailsend.Send(ml); }
private void Process() { ExcelOperate excelOp = null; try { excelOp = new ExcelOperate(); object data = new object(); int row = 0; int col = 0; excelOp.Open(_encrtyPath); excelOp.Read(out data, out row, out col); var pp = new PersonalPassword(); var ml = new List <MailReceiver>(); pp.Initialize(data, row, col); excelOp.Close(); ShowProgressBar(); data = null; row = 0; col = 0; excelOp.Open(_salaryPath); excelOp.Read(out data, out row, out col); var payment = new Payment(); payment.Initialize(data, row, col); ShowProgressBar(); string folderPath = _savePath; for (int i = 0; i < pp.Count; i++) { var name = pp[i]; var passWord = pp[name]; string fileName = folderPath + name + ".xls"; excelOp.NewFile(); object[] value = payment.GetValueByName(name); if (value == null) { string log = "没有找到名为[" + name + "]的工资信息"; OnSendCompleted(log); continue; } excelOp.Write(value, 2, payment.ColCount); excelOp.Save(fileName, passWord); excelOp.Close(); var ms = new MailReceiver(); ms.MailAddress = pp.GetMail(name); ms.AppendixPath = fileName; ml.Add(ms); } ShowProgressBar(); if (MessageBox.Show("即将发送邮件,请确认!", "确认", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes) { _mailsend.Send(ml); } ShowProgressBar(); } catch (Exception ex) { OnSendCompleted(ex.Message); OnSendCompleted(ex.StackTrace); } finally { excelOp.Quit(); } }