Exemple #1
0
        // 下载附件
        private void btnDownLoad_Click(object sender, EventArgs e)
        {
            if (lstViewMailList.SelectedItems.Count == 0)
            {
                MessageBox.Show("请先选择阅读的邮件!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            else if (lstViewMailList.SelectedItems[0].SubItems[3].Text == "无")
            {
                MessageBox.Show("该邮件没有附件", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }

            int index = lstViewMailList.SelectedItems[0].Index;

            messageMail = popClient.Messages[index + 1];
            attachments = messageMail.Attachments;
            for (int i = 0; i < attachments.Count; i++)
            {
                attachment = attachments[i];
                string         attachName     = attachment.Name;
                SaveFileDialog saveFileDialog = new SaveFileDialog();
                saveFileDialog.FileName = attachName;
                saveFileDialog.Filter   = "所有文件(*.*)|(*.*)";
                if (saveFileDialog.ShowDialog() != DialogResult.OK)
                {
                    continue;
                }

                string filepath = saveFileDialog.FileName;
                attachment.SaveToFile(filepath);
                MessageBox.Show("以保存:\r\n" + attachment.Name, "下载完毕", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
Exemple #2
0
 private void dgvEmailInfo_CellClick(object sender, DataGridViewCellEventArgs e)//下载附件
 {
     try
     {
         if (e.ColumnIndex == 2)
         {
             mailMessage = popMail.Messages[e.RowIndex + 1];
             atts        = mailMessage.Attachments;
             if (atts.Count != 0)
             {
                 for (int k = 0; k < atts.Count; k++)
                 {
                     att = atts[k];
                     string attname = att.Name;
                     saveFileDialog.FileName = attname;//令对话框的初始路径包含文件名
                     if (saveFileDialog.ShowDialog() == DialogResult.OK)
                     {
                         string mailPath = saveFileDialog.FileName.ToString(); //获取对话框中选好的路径
                         att.SaveToFile(mailPath);                             //将附件存储到相应路径
                         MessageBox.Show("下载成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     }
                 }
             }
         }
     }
     catch
     {
         MessageBox.Show("下载失败", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
Exemple #3
0
        // 刷新邮件列表
        private void btnRefreshMailList_Click(object sender, EventArgs e)
        {
            // 实例化邮件接收类POP3Class
            popClient = new POP3Class();
            // 连接服务器
            popClient.Connect(tbxUserMail.Text, txbPassword.Text, tbxPOP3Server.Text, 110);
            if (popClient != null)
            {
                if (popClient.Count > 0)
                {
                    lstViewMailList.Items.Clear();
                    tbxMailboxInfo.Text = "共" + popClient.Count + "封邮件";
                    for (int i = 0; i < popClient.Count; i++)
                    {
                        messageMail = popClient.Messages[i + 1];
                        ListViewItem item = new ListViewItem();
                        item.SubItems.Add(messageMail.From);
                        item.SubItems.Add(messageMail.Subject);
                        attachments = messageMail.Attachments;
                        if (attachments.Count > 0)
                        {
                            item.SubItems.Add(attachments.Count.ToString());
                        }
                        else
                        {
                            item.SubItems.Add("无");
                        }

                        item.SubItems.Add(messageMail.Date.ToString());
                        lstViewMailList.Items.Add(item);
                    }
                }
            }
        }
Exemple #4
0
        private void transCode2(ref string[] MailAtts, jmail.Message mailmessage)
        {
            byte[] b;
            string transcode;

            jmail.Attachments attachments;
            jmail.Attachment  attachment;
            attachments = mailmessage.Attachments;
            for (int i = 0; i < attachments.Count; i++)
            {
                try
                {
                    attachment = attachments [i];
                    if (mailmessage.Text.IndexOf("name:=?UTF-8?B?") != -1 ||
                        mailmessage.Text.IndexOf("name: =?UTF-8?B?") != -1 ||
                        mailmessage.Text.IndexOf("name: =?utf-8?B?") != -1
                        )//解析邮件主题
                    {
                        if (attachment.Name.IndexOf("=?UTF-8?B?") != -1
                            )
                        {
                            transcode   = attachment.Name.Substring(attachment.Name.IndexOf("=?UTF-8?B?") + 10);
                            transcode   = transcode.Substring(0, transcode.IndexOf("?="));//修改
                            b           = Convert.FromBase64String(transcode);
                            transcode   = Encoding.GetEncoding("utf-8").GetString(b);
                            MailAtts[i] = transcode;
                        }
                        else if (attachment.Name.IndexOf("=?utf-8?B?") != -1)
                        {
                            transcode   = attachment.Name.Substring(attachment.Name.IndexOf("=?utf-8?B?") + 10);
                            transcode   = transcode.Substring(0, transcode.Length - 2);
                            b           = Convert.FromBase64String(transcode);
                            transcode   = Encoding.GetEncoding("utf-8").GetString(b);
                            MailAtts[i] = transcode;
                        }
                        else
                        {
                            b           = System.Text.Encoding.Default.GetBytes(attachment.Name);
                            transcode   = Encoding.GetEncoding("utf-8").GetString(b);
                            MailAtts[i] = transcode;
                        }
                    }
                    else
                    {
                        MailAtts [i] = attachment.Name;
                    }
                }
                catch
                {
                    MessageBox.Show("编码格式有问题");
                }
            }
        }
Exemple #5
0
    private bool SendMails(string fromMail, string toMail, string ccMail, string bccMail, string subject, string subbody)
    {
        try
        {
            jmail.Message Jmail = new jmail.Message();

            DateTime t         = DateTime.Now;
            string   Subject   = subject;
            string   body      = subbody;
            string   FromEmail = fromMail;
            string   ToEmail   = toMail;
            //Silent属性:如果设置为true,JMail不会抛出例外错误. JMail. Send( () 会根据操作结果返回true或false
            Jmail.Silent = true;
            //Jmail创建的日志,前提loging属性设置为true
            Jmail.Logging = true;
            //字符集,缺省为"US-ASCII"
            Jmail.Charset = "GB2312";
            //信件的contentype. 缺省是"text/plain") : 字符串如果你以HTML格式发送邮件, 改为"text/html"即可。
            //Jmail.ContentType = "Multipart/Mixed";
            //添加收件人(若几个收件人就添加几行下面的代码)
            Jmail.AddRecipient(ToEmail, "", "");
            //Jmail.AddRecipientCC,Jmail.AddRecipientBCC (抄送,密送,用法同Jmail.AddRecipient)
            Jmail.From = FromEmail;

            DataTable dt = BLL.CommonClass.CommonDataBLL.GetEmail();
            if (dt.Rows.Count == 0)
            {
                return(false);
            }

            //发件人邮件用户名
            Jmail.MailServerUserName = BLL.QuickPay.SecretSecurity.Decrypt3Des24Bit(dt.Rows[0]["UserName"].ToString(), new BLL.QuickPay.SecretSecurity().EmailKey); // "qc";
            //发件人邮件密码
            Jmail.MailServerPassWord = BLL.QuickPay.SecretSecurity.Decrypt3Des24Bit(dt.Rows[0]["Password"].ToString(), new BLL.QuickPay.SecretSecurity().EmailKey); //"zx001";
            //设置邮件标题
            Jmail.Subject = Subject;
            //邮件添加附件,(多附件的话,可以再加一条Jmail.AddAttachment( "c:\\test.jpg",true,null);)就可以搞定了。

            ////[注]:加了附件,讲把上面的Jmail.ContentType="text/html";删掉。否则会在邮件里出现乱码。
            //Jmail.AddAttachment("c:\\img200610311000250.jpg", true, null);
            ////邮件内容,(若为纯文本就改为Jmail.Body )
            Jmail.Body = body;
            //Jmail发送的方法
            Jmail.Send(BLL.QuickPay.SecretSecurity.Decrypt3Des24Bit(dt.Rows[0]["EmailAddress"].ToString(), new BLL.QuickPay.SecretSecurity().EmailKey), false);
            Jmail.Close();
            return(true);
        }
        catch
        {
            return(false);
        }
    }
Exemple #6
0
        // 回复邮件
        private void btnReplyCurrentMail_Click(object sender, EventArgs e)
        {
            int index = lstViewMailList.SelectedItems[0].Index;

            messageMail = popClient.Messages[index + 1];

            // 使写信选项卡成为当前选项卡
            tabControlMyMailbox.SelectTab(tabPageWriteLetter);
            txbSendTo.Text   = lstViewMailList.SelectedItems[0].SubItems[1].Text;
            txbSubject.Text  = "Re:" + messageMail.Subject;
            richtbxBody.Text = "";
            richtbxBody.Focus();
        }
        protected void SubmitButton_Click(object sender, EventArgs e)
        {
            string title = "你的心灵之家登录密码";
            string username = UserName.Text.Trim();
            string sql = "select password,email from login where username=@username";
            SqlParameter[] paras={new SqlParameter("@username",SqlDbType.NVarChar){Value=username}};
            SqlDataReader reader = dbhelper.GetDataReader(sql, paras);
            if (reader.Read())
            {
                string password = reader["password"].ToString();
                //string recipient = "*****@*****.**";
                string recipient = reader["email"].ToString();
                string content = "您的登录密码为:" + password;
                jmail.Message JMail = new jmail.Message();
                string strFromEmail = "*****@*****.**";
                JMail.Silent = false;
                JMail.Logging = true;
                JMail.Charset = "GB2312";
                JMail.Encoding = "Base64";
                JMail.ContentType = "text/html";
                JMail.Subject = title.Trim();            //【邮件标题】
                JMail.Body = content.Trim();                  //【邮件内容】                          
                JMail.AddRecipient(recipient.Trim());
                JMail.From = strFromEmail.Trim();           //【发件人】
                JMail.MailServerUserName = "******";
                JMail.MailServerPassWord = "******";
                try
                {

                    JMail.Send("smtp.163.com", false);
                    FailureText.Text = "密码已发送到你注册的邮箱里!";
                }
                catch (Exception ex)
                {
                    FailureText.Text = "邮件发送失败!";
                    return;
                }
                finally
                {
                    JMail.Close();
                }
            }
            else
            {
                FailureText.Text = "用户名不存在!";
            }


        }
Exemple #8
0
        // 删除当前预览邮件
        private void btnDelCurrentMail_Click(object sender, EventArgs e)
        {
            int index = lstViewMailList.SelectedItems[0].Index;

            messageMail = popClient.Messages[index + 1];
            if (MessageBox.Show("确认要删除邮件" + messageMail.Subject + "吗?", "删除确认", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)
            {
                popClient.DeleteSingleMessage(index + 1);
                tbxMailboxInfo.Text = "删除了主题为“" + messageMail.Subject + "”的邮件";
                popClient.Disconnect();
                richtbxMailContentReview.Text = "";
                btnReplyCurrentMail.Enabled   = false;
                btnDelCurrentMail.Enabled     = false;
            }
        }
Exemple #9
0
        private void transCode1(ref string MailSubject, jmail.Message mailmessage)//对邮件主题为UTF-8编码格式的尝试解码
        {
            byte[] b;
            string transcode;

            try
            {
                if (mailMessage.Text.IndexOf("Subject:=?UTF-8?B?") != -1 ||
                    mailMessage.Text.IndexOf("Subject: =?UTF-8?B?") != -1 ||
                    mailMessage.Text.IndexOf("Subject: =?utf-8?B?") != -1
                    )//解析邮件主题
                {
                    if (mailMessage.Subject.IndexOf("=?UTF-8?B?") != -1
                        )
                    {
                        transcode   = mailMessage.Subject.Substring(mailMessage.Subject.IndexOf("=?UTF-8?B?") + 10);
                        transcode   = transcode.Substring(0, transcode.IndexOf("?="));//定位到特殊字符,通过修改相应字符进行解码
                        b           = Convert.FromBase64String(transcode);
                        transcode   = Encoding.GetEncoding("utf-8").GetString(b);
                        MailSubject = transcode;
                    }
                    else if (mailMessage.Subject.IndexOf("=?utf-8?B?") != -1)
                    {
                        transcode   = mailMessage.Subject.Substring(mailMessage.Subject.IndexOf("=?utf-8?B?") + 10);
                        transcode   = transcode.Substring(0, transcode.Length - 2);
                        b           = Convert.FromBase64String(transcode);
                        transcode   = Encoding.GetEncoding("utf-8").GetString(b);
                        MailSubject = transcode;
                    }
                    else
                    {
                        b           = System.Text.Encoding.Default.GetBytes(mailMessage.Subject);
                        transcode   = Encoding.GetEncoding("utf-8").GetString(b);
                        MailSubject = transcode;
                    }
                }
                else
                {
                    MailSubject = mailMessage.Subject;
                }
            }
            catch
            {
                MessageBox.Show("编码格式有问题");
            }
        }
Exemple #10
0
        // 阅读邮件内容
        // 这里也可以实现ListView Click事件来阅读邮件的
        private void btnReadMail_Click(object sender, EventArgs e)
        {
            // 登陆成功后 popClient的连接就一直保持着,因此无须重复连接
            if (lstViewMailList.SelectedItems.Count == 0)
            {
                MessageBox.Show("请先选择阅读的邮件!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }

            int index = lstViewMailList.SelectedItems[0].Index;

            messageMail = popClient.Messages[index + 1];
            richtbxMailContentReview.Text = messageMail.Body;
            btnReplyCurrentMail.Enabled   = true;
            btnDelCurrentMail.Enabled     = true;
            lstViewMailList.Focus();
        }
Exemple #11
0
        // 删除邮件
        private void btnDeleteMail_Click(object sender, EventArgs e)
        {
            if (lstViewMailList.SelectedItems.Count == 0)
            {
                MessageBox.Show("请先选择阅读的邮件!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }

            int index = lstViewMailList.SelectedItems[0].Index;

            messageMail = popClient.Messages[index + 1];
            if (MessageBox.Show("确认要删除邮件" + messageMail.Subject + "吗?", "删除确认", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)
            {
                popClient.DeleteSingleMessage(index + 1);
                popClient.Disconnect();
                btnRefreshMailList.PerformClick();
            }
        }
Exemple #12
0
 private void dgvEmailInfo_CellDoubleClick(object sender, DataGridViewCellEventArgs e)//双击相应单元格得到详细邮件信息
 {
     try
     {
         strFrom = strSubject = strDate = strAttachment = string.Empty;
         strFrom = dgvEmailInfo.Rows[e.RowIndex].Cells[0].Value.ToString();
         if (dgvEmailInfo.Rows[e.RowIndex].Cells[1].Value == null)
         {
             strSubject = null;
         }
         else
         {
             strSubject = dgvEmailInfo.Rows[e.RowIndex].Cells[1].Value.ToString();
         }
         strDate     = dgvEmailInfo.Rows[e.RowIndex].Cells[3].Value.ToString();
         mailMessage = popMail.Messages[e.RowIndex + 1];
         atts        = mailMessage.Attachments;
         for (int k = 0; k < atts.Count; k++)
         {
             att = atts[k];
             if (strAttachment == string.Empty)
             {
                 strAttachment = att.Name;
             }
             else
             {
                 strAttachment += ";" + att.Name;//得到所有的附件名并以逗号隔开
             }
         }
         frmEmailInfo frmemailinfo = new frmEmailInfo();
         frmemailinfo.ShowDialog();
     }
     catch
     {
     }
 }
Exemple #13
0
        private void transCode1(ref string MailSubject, jmail.Message mailmessage)//对邮件主题的解码
        {
            byte[] b;
            string transcode;

            try
            {
                /*if (mailMessage.From == useraddr.Trim().ToLower())
                 * {
                 *  MailFrom = "我";
                 * }
                 * else
                 * {
                 *  if (mailMessage.Text.IndexOf("From: =?UTF-8?B?") != -1)
                 *  {
                 *      if (mailMessage.FromName.IndexOf("<") != -1)
                 *      {
                 *          // b = System.Text.Encoding.Default.GetBytes(mailMessage.FromName.Substring(0, mailMessage.FromName.IndexOf("<")-1));
                 *          // b = System.Text.Encoding.Default.GetBytes(mailMessage.FromName.Substring(mailMessage.FromName.IndexOf("<")+1 , mailMessage.FromName.Length - mailMessage.FromName.IndexOf("<")));
                 *          //transcode = Encoding.GetEncoding("utf-8").GetString(b);
                 *          transcode = mailMessage.FromName.Substring(mailMessage.FromName.IndexOf("<") + 1);
                 *          MailFrom = transcode;
                 *      }
                 *      else
                 *          MailFrom = mailMessage.From;
                 *  }
                 *  else
                 *      MailFrom = mailMessage.From;
                 * }*/
                if (mailMessage.Text.IndexOf("Subject:=?UTF-8?B?") != -1 ||
                    mailMessage.Text.IndexOf("Subject: =?UTF-8?B?") != -1 ||
                    mailMessage.Text.IndexOf("Subject: =?utf-8?B?") != -1
                    )//解析邮件主题
                {
                    if (mailMessage.Subject.IndexOf("=?UTF-8?B?") != -1
                        )
                    {
                        transcode   = mailMessage.Subject.Substring(mailMessage.Subject.IndexOf("=?UTF-8?B?") + 10);
                        transcode   = transcode.Substring(0, transcode.IndexOf("?="));//修改
                        b           = Convert.FromBase64String(transcode);
                        transcode   = Encoding.GetEncoding("utf-8").GetString(b);
                        MailSubject = transcode;
                    }
                    else if (mailMessage.Subject.IndexOf("=?utf-8?B?") != -1)
                    {
                        transcode   = mailMessage.Subject.Substring(mailMessage.Subject.IndexOf("=?utf-8?B?") + 10);
                        transcode   = transcode.Substring(0, transcode.Length - 2);
                        b           = Convert.FromBase64String(transcode);
                        transcode   = Encoding.GetEncoding("utf-8").GetString(b);
                        MailSubject = transcode;
                    }
                    else
                    {
                        b           = System.Text.Encoding.Default.GetBytes(mailMessage.Subject);
                        transcode   = Encoding.GetEncoding("utf-8").GetString(b);
                        MailSubject = transcode;
                    }
                }
                else
                {
                    MailSubject = mailMessage.Subject;
                }
            }
            catch
            {
                MessageBox.Show("编码格式有问题");
            }
        }
        private object Mail(string ToEmailAddress, string FromEmailAddress, string FromEmailPassword, string CCEmailAddress, string BccEmailAddress, string EmailSubject, string EmailBody, string EmailAttachmentPath)
        {
            try
            {
                jmail.Message Jmail = new jmail.Message();
                string[] from = FromEmailAddress.Split('@');
                if (CCEmailAddress == "")
                { }
                else
                {
                    string cc1 = CCEmailAddress.Substring(0, CCEmailAddress.Length - 1);
                    string[] cc = cc1.Split(',');

                    //添加抄送人邮箱地址
                    foreach (var item in cc)
                    {
                        Jmail.AddRecipientCC(item);
                    }
                }
                if (BccEmailAddress == "")
                { }
                else
                {
                    string Bcc1 = BccEmailAddress.Substring(0, BccEmailAddress.Length - 1);
                    string[] Bcc = Bcc1.Split(',');
                    //添加密送人邮箱地址
                    foreach (var item in Bcc)
                    {
                        Jmail.AddRecipientBCC(item);
                    }
                }
                if (EmailAttachmentPath == "," || EmailAttachmentPath == "")
                { }
                else
                {
                    //string p = EmailAttachmentPath.Substring(0, EmailAttachmentPath.Length - 1);
                    string[] path = EmailAttachmentPath.Split(',');
                    //邮件添加附件
                    foreach (var item in path)
                    {
                        Jmail.AddAttachment(@item);
                    }
                    Jmail.AddAttachment(EmailAttachmentPath);
                }
                string to1 = ToEmailAddress.Substring(0, ToEmailAddress.Length - 1);
                string[] to = to1.Split(',');

                //Silent属性:如果设置为true,JMail不会抛出例外错误. JMail. Send( () 会根据操作结果返回true或false
                Jmail.Silent = true;
                //Jamil创建日志,前提logging属性设置为true
                Jmail.Logging = true;
                Jmail.FromName = ecoBio.Wms.Web.Masterpage.CurrUser.alias;
                //字符集,缺省为"US-ASCII"
                Jmail.Charset = "GB2312";
                Jmail.ISOEncodeHeaders = true;
                //添加收件人邮箱地址
                foreach (var item in to)
                {
                    Jmail.AddRecipient(item);
                }
                // Jmail.AddRecipient(ToEmailAddress);

                //Jmail.AddRecipientCC(CCEmailAddress);

                //发件人邮箱地址
                Jmail.From = FromEmailAddress;
                //发件人邮件姓名
                Jmail.MailServerUserName = from[0];
                //发件人邮件密码
                Jmail.MailServerPassWord = FromEmailPassword;
                //设置邮件标题
                Jmail.Subject = EmailSubject;
                //邮件内容
                //Jmail.Body = EmailBody;
                Jmail.HTMLBody = EmailBody;
                //邮件优先级为3为Normal
                Jmail.Priority = 3;

                Jmail.Send("smtp.qq.com");
                //Jmail.Send("smtp.ecobiotech.com.cn");
                Jmail.Close();
                return "";
            }
            catch (Exception ex)
            {
                Console.WriteLine("发送失败:" + ex);
                return "";
            }
        }
Exemple #15
0
        private object Mail(string ToEmailAddress, string FromEmailAddress, string FromEmailPassword, string CCEmailAddress, string BccEmailAddress, string EmailSubject, string EmailBody, string EmailAttachmentPath)
        {
            try
            {
                jmail.Message Jmail = new jmail.Message();
                string[]      from  = FromEmailAddress.Split('@');
                if (CCEmailAddress == "")
                {
                }
                else
                {
                    string   cc1 = CCEmailAddress.Substring(0, CCEmailAddress.Length - 1);
                    string[] cc  = cc1.Split(',');

                    //添加抄送人邮箱地址
                    foreach (var item in cc)
                    {
                        Jmail.AddRecipientCC(item);
                    }
                }
                if (BccEmailAddress == "")
                {
                }
                else
                {
                    string   Bcc1 = BccEmailAddress.Substring(0, BccEmailAddress.Length - 1);
                    string[] Bcc  = Bcc1.Split(',');
                    //添加密送人邮箱地址
                    foreach (var item in Bcc)
                    {
                        Jmail.AddRecipientBCC(item);
                    }
                }
                if (EmailAttachmentPath == "," || EmailAttachmentPath == "")
                {
                }
                else
                {
                    //string p = EmailAttachmentPath.Substring(0, EmailAttachmentPath.Length - 1);
                    string[] path = EmailAttachmentPath.Split(',');
                    //邮件添加附件
                    foreach (var item in path)
                    {
                        Jmail.AddAttachment(@item);
                    }
                    Jmail.AddAttachment(EmailAttachmentPath);
                }
                string   to1 = ToEmailAddress.Substring(0, ToEmailAddress.Length - 1);
                string[] to  = to1.Split(',');

                //Silent属性:如果设置为true,JMail不会抛出例外错误. JMail. Send( () 会根据操作结果返回true或false
                Jmail.Silent = true;
                //Jamil创建日志,前提logging属性设置为true
                Jmail.Logging  = true;
                Jmail.FromName = ecoBio.Wms.Web.Masterpage.CurrUser.alias;
                //字符集,缺省为"US-ASCII"
                Jmail.Charset          = "GB2312";
                Jmail.ISOEncodeHeaders = true;
                //添加收件人邮箱地址
                foreach (var item in to)
                {
                    Jmail.AddRecipient(item);
                }
                // Jmail.AddRecipient(ToEmailAddress);


                //Jmail.AddRecipientCC(CCEmailAddress);

                //发件人邮箱地址
                Jmail.From = FromEmailAddress;
                //发件人邮件姓名
                Jmail.MailServerUserName = from[0];
                //发件人邮件密码
                Jmail.MailServerPassWord = FromEmailPassword;
                //设置邮件标题
                Jmail.Subject = EmailSubject;
                //邮件内容
                //Jmail.Body = EmailBody;
                Jmail.HTMLBody = EmailBody;
                //邮件优先级为3为Normal
                Jmail.Priority = 3;

                Jmail.Send("smtp.qq.com");
                //Jmail.Send("smtp.ecobiotech.com.cn");
                Jmail.Close();
                return("");
            }
            catch (Exception ex)
            {
                Console.WriteLine("发送失败:" + ex);
                return("");
            }
        }
Exemple #16
0
    public void sendmail(string lsjsrid,string lsbt,string lsnr,string lsid)
    {
        //lsjsrid  接收人[email protected],[email protected]
        //lsbt  主题
        //lsnr  内容
        //lsfjpath 附件路径

           HyoaClass.Hyoa_mail_config Hyoa_mail_config = new HyoaClass.Hyoa_mail_config();
           DataTable dtmailuser = Hyoa_mail_config.Getmailconfigbyuserid(this.Session["hyuid"].ToString());

           string lssendid = "";
           string lssendpwd = "";
           string lssendname = "";
           string lshost = "";
           string lsport = "";

           if (dtmailuser.Rows.Count > 0)
           {
               for (int n = 0; n < dtmailuser.Rows.Count; n++)
               {
                   if (dtmailuser.Rows[n]["hy_mailid"].ToString() == this.ddlmailset.SelectedValue.ToString())
                   {
                       lssendid = dtmailuser.Rows[n]["hy_mailid"].ToString();
                       lssendpwd = Decrypt(dtmailuser.Rows[n]["hy_mailpwd"].ToString());
                       lssendname = this.Session["hyuname"].ToString();
                       lshost = dtmailuser.Rows[n]["hy_smtpurl"].ToString();
                       lsport = dtmailuser.Rows[n]["hy_smtpport"].ToString();
                   }
               }
           }
           else
           {
           return;
           }

           string lsml = "";
           lsml = Server.MapPath("~/");//得到虚拟根目录
           jmail.Message jmail = new jmail.Message();
           DateTime t = DateTime.Now;
           String Subject = lsbt;
           String body = lsnr;
           String FromEmail = lssendid;
           String ToEmail = lsjsrid;
           //Silent属性:如果设置为true,JMail不会抛出例外错误. JMail. Send( () 会根据操作结果返回true或false
           jmail.Silent = true;
           //Jmail创建的日志,前提loging属性设置为true
           jmail.Logging = true;
           //字符集,缺省为"US-ASCII"
           jmail.From = FromEmail;
           jmail.Charset="gb2312";
        jmail.ContentTransferEncoding="base64";
        jmail.Encoding="base64";
        jmail.ISOEncodeHeaders=false;

           //信件的contentype. 缺省是"text/plain") : 字符串如果你以HTML格式发送邮件, 改为"text/html"即可。
           //jmail.ContentType = "text/html";
           //添加收件人
           string[] lvToEmail;
           lvToEmail = ToEmail.Split(',');
           for (int jj = 0; jj < lvToEmail.Length; jj++)
           {
           jmail.AddRecipient(lvToEmail[jj], "", "");
           }

           //jmail.AddRecipient(ToEmail, "", "");
           //jmail.AddRecipient(ToEmail2, "", "");
           //jmail.From = FromEmail;
           //发件人邮件用户名
           //jmail.MailServerUserName = lssendid.Substring(0,lssendid.IndexOf("@"));
           jmail.MailServerUserName = lssendid;
           //发件人邮件密码
           jmail.MailServerPassWord = lssendpwd;
           //设置邮件标题
           jmail.Subject = Subject;
           //邮件内容
           jmail.HTMLBody = body;
           //邮件添加附件,(多附件的话,可以再加一条Jmail.AddAttachment( "c:test.jpg",true,null);)就可以搞定了。[注]:加了附件,讲把上面的 Jmail.ContentType="text/html";删掉。否则会在邮件里出现乱码。
           //jmail.AddAttachment(@"D:\bbb.rar", true, "htm");
           //jmail.AddAttachment(@"D:\bbb.txt", true, "htm");
           //邮件附件
           HyoaClass.Hyoa_fileatt Hyoa_fileatt = new HyoaClass.Hyoa_fileatt();
           DataTable dtfileatt = Hyoa_fileatt.GetfileattByFatherid(lsid);
           if (dtfileatt.Rows.Count > 0)
           {
           for (int jj = 0; jj < dtfileatt.Rows.Count; jj++)
           {
               jmail.AddAttachment(@lsml + "\\" + dtfileatt.Rows[jj]["hy_filepath"].ToString(), true, "htm");
           }
           }
           //Jmail发送的方法
           jmail.Send(lshost, false);
           jmail.Close();
    }
Exemple #17
0
        private void frmMain_Load(object sender, EventArgs e)
        {
            string MailSubject = "";

            for (int i = 0; i < dgvEmailInfo.Columns.Count; i++)
            {
                dgvEmailInfo.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
            }
            strsever = login.Pop;
            user     = login.User;
            pwd      = login.Password;
            popMail  = new jmail.POP3Class();
            try
            {
                popMail.Connect(user, pwd, strsever, 110);//通过jmail提供的方法直接连接服务器获取邮件
                TLabUser.Text = user;
                TLabNum.Text  = popMail.Count + "封";
                if (popMail.Count != 0)
                {
                    dgvEmailInfo.RowCount = popMail.Count;//显示与邮件封数相同的行数

                    if (popMail != null)
                    {
                        if (popMail.Count > 0)
                        {
                            for (int i = 1; i < popMail.Count + 1; i++)
                            {
                                mailMessage = popMail.Messages[i];//获取某一封邮件
                                transCode1(ref MailSubject, mailMessage);
                                mailMessage.Charset          = "GB18030";
                                mailMessage.Encoding         = "Base64";
                                mailMessage.ISOEncodeHeaders = false;
                                string priority = mailMessage.Priority.ToString();          //邮件编码等设置
                                dgvEmailInfo.Rows[i - 1].Cells[0].Value = mailMessage.From; //将发信人填到第一格
                                dgvEmailInfo.Rows[i - 1].Cells[1].Value = MailSubject;      //将主题填到第二格
                                dgvEmailInfo.Rows[i - 1].Cells[3].Value = mailMessage.Date; //将时间填到第四格
                                if ((popMail.Count >= 1) && (i <= popMail.Count))
                                {
                                    atts = mailMessage.Attachments;//实例化邮件附件
                                    if (atts.Count > 0)
                                    {
                                        dgvEmailInfo.Rows[i - 1].Cells[2].Value = "附件下载";
                                    }
                                    else
                                    {
                                        dgvEmailInfo.Rows[i - 1].Cells[2].Value = "无附件";
                                    }
                                }
                                dgvEmailInfo.Rows[0].Selected = false;//信息填充好后清除第一行被选中的状态
                            }
                        }
                    }
                }
                else
                {
                    dgvEmailInfo.Rows.Clear();
                }
            }
            catch
            {
                MessageBox.Show("该用户邮箱不存在!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Exemple #18
0
        /// <summary>
        /// 发送邮件
        /// </summary>
        /// <returns>是否发送成功</returns>
        public void Send()
        {
            jmail.Message m = new jmail.Message();

            m.Charset = "gb2312";

            m.From = _sendMailAddress;

            m.Subject = _Title;

            m.AddRecipient(_ReceiverMailAddress, null, null);
            m.MailServerUserName = UserName;
            #region password

            m.MailServerPassWord = Password;

            #endregion
            m.ContentType = "text/html";
            m.Body = _Content;

            //m.Send("mail.ouc.edu.cn", false);
            m.Send("smtp.163.com", false);
            //m.Send("smtp.sohu.com", false);

            m.Close();
        }