/// <summary> /// 当邮件发送完毕后,使用该函数提示用户 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnSendCompleted(object sender, AsyncCompletedEventArgs e) { //if (e.Cancelled) //{ //} //if (e.Error != null) //{ // var msg = "邮件主题为【" + this._mMsg.Subject + "】发送失败!\r\n失败原因:" + e.Error.Message; // MessageBox.Show(msg); //} //else //{ var isOk = MessageToMf.SaveSendMailToMf(_vault, this._mMsg, MailCore.MF.MessageToMf.GetFolderIdByName(_vault, "发件箱")); if (isOk) { MessageBox.Show("邮件主题为【" + this._mMsg.Subject + "】发送成功,写入DBWorld成功!"); Application.Exit(); } else { MessageBox.Show("邮件主题为【" + this._mMsg.Subject + "】发送成功,写入DBWorld失败!"); } //} }
/// <summary> /// 保存邮件草稿 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void lnkblSave_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { //判断库对象、邮件配置对象、邮箱对象 if (_vault == null || _config == null || editor == null) { return; } try { _mMsg = new MailMessage(); var consignee = CheckMails(txtboxReceiver.Text); //收件地址转换 var copySend = CheckMails(txtboxCC.Text); //抄送地址转换 _mMsg.Subject = txtboxSubject.Text.Trim(); //标题 _mMsg.From = new MailAddress(_config.Email, _config.UserName); //收件地址集 foreach (var item in consignee) { _mMsg.To.Add(new MailAddress(CheckContacts(item))); } //抄送地址集 foreach (var item in copySend) { _mMsg.CC.Add(CheckContacts(item)); } //附件集 foreach (var attachment in GetAttachments()) { _mMsg.Attachments.Add(attachment); } _mMsg.Body = editor.GetBodyText(); if (_actionType == MailInfo.MAILTYPE_DARFT) //如果是草稿箱模式则更改原文件 { //增加邮件唯一标识 _mMsg.Headers.Add("MessageId", _guidDraft); } else //否则重新建一个草稿 { //增加邮件唯一标识 _mMsg.Headers.Add("MessageId", System.Guid.NewGuid().ToString()); } var isOk = MessageToMf.SaveSendMailToMf(_vault, _mMsg, MailCore.MF.MessageToMf.GetFolderIdByName(_vault, "草稿箱")); ////写入MFils 文件夹ID3 草稿箱 if (isOk) { MessageBox.Show("草稿保存成功!"); } else { MessageBox.Show("草稿保存失败!"); } } catch (Exception) { MessageBox.Show("草稿保存失败!"); } }