使用SMTP发送邮件

     /// <summary>
        /// 发送邮件
        /// </summary>
        /// <param name="MailServerName">服务器</param>
        /// <param name="PubMail">公共邮箱地址</param>
        /// <param name="MailUserName">用户名</param>
        /// <param name="MailPassword">密码</param>
        /// <param name="To">收件人</param>
        /// <param name="CC">抄送人</param>
        /// <param name="MailHistoryGUID">邮件记录guid,获取附件</param>
        /// <param name="MailBody">邮件正文</param>
        /// <param name="Subject">主题</param>
        /// <returns></returns>
        private int SendMessage_internal(string MailServerName, string PubMail, string MailUserName, string MailPassword, string To, string CC, string MailHistoryGUID, string MailBody, string Subject)
        {
            //简单邮件传输协议类
            SmtpClient client = new SmtpClient();
            //电子邮件信息类
            MailMessage mailMessage = new MailMessage();
            int isSucess = 0;
            try
            {
                client.Host = MailServerName;//设置邮件服务器
                client.Port = 25;//smtp主机端口号,默认25
                client.DeliveryMethod = SmtpDeliveryMethod.Network;
                client.Credentials = new System.Net.NetworkCredential(PubMail, MailPassword);

                mailMessage.Sender = new MailAddress(PubMail, MailUserName);//发件人信息
                //设置发件人
                mailMessage.From = new MailAddress(PubMail, MailUserName);

                //设置收件
                DataTable dtTemp = GetMailToList();
                int count = dtTemp.Rows.Count;
                if (count > 0)
                {
                    for (int i = 0; i < count; i++)
                    {
                        mailMessage.To.Add(new MailAddress(dtTemp.Rows[i]["Email"].ToString(), dtTemp.Rows[i]["UserName"].ToString()));
                    }
                }
                //设置抄送人
                if (!string.IsNullOrEmpty(CC))
                {
                    dtTemp = GetCCUserList();
                    count = dtTemp.Rows.Count;
                    if (count > 0)
                    {
                        for (int i = 0; i < count; i++)
                        {
                            mailMessage.CC.Add(new MailAddress(dtTemp.Rows[i]["Email"].ToString(), dtTemp.Rows[i]["UserName"].ToString()));
                        }
                    }
                }
                //添加附件
                dtTemp = GetAttachDocuments();
                count = dtTemp.Rows.Count;
                if (count > 0)
                {
                    for (int i = 0; i < count; i++)
                    {
                        mailMessage.Attachments.Add(new Attachment(HttpContext.Current.Server.MapPath("/") + dtTemp.Rows[i]["location"] + dtTemp.Rows[i]["FileName"].ToString()));
                    }
                }
                //主题
                mailMessage.Subject = Subject;
                mailMessage.Body = MailBody;
                mailMessage.SubjectEncoding = System.Text.Encoding.UTF8;//邮件主题编码
                mailMessage.BodyEncoding = System.Text.Encoding.GetEncoding("GB2312");//邮件内容编码
                mailMessage.IsBodyHtml = true;//邮件内容是否为html格式
                client.Send(mailMessage);
                isSucess = 1;
            }
            catch (Exception e)
            {
                MyDB.LogException(e);
                isSucess = 0;
            }
            finally
            {
                mailMessage.Dispose();
            }
            return isSucess;
        }

    }
时间: 2024-11-10 03:05:18

使用SMTP发送邮件的相关文章

python通过SMTP发送邮件失败,报错505/535

python通过SMTP发送邮件失败:错误1:smtplib.SMTPAuthenticationError: (550, b'User has no permission')    我们使用python发送邮件时相当于自定义客户端根据用户名和密码登录,然后使用SMTP服务发送邮件,新注册的163邮箱是默认不开启客户端授权的(对指定的邮箱大师客户端默认开启),因此登录总是被拒绝,解决办法(以163邮箱为例):进入163邮箱-设置-客户端授权密码-开启(授权码是用于登录第三方邮件客户端的专用密码)

使用 phpMailer 基于(SMTP) 发送邮件

PHPMailer是一个用于发送电子邮件的PHP函数包.它提供的功能包括:在发送邮时指定多个收件人,抄送地址,暗送地址和回复地址.支持多种邮件编码包括:8bit,base64,binary和quoted-printable.支持SMTP验证.支持带附件的邮件和Html格式的邮件. 实现代码 : <?php include 'class.smtp.php'; include 'class.phpmailer.php'; $mail = new PHPMailer; $mail->isSMTP()

通过SMTP发送邮件的Python代码

贴上一段用Python开发的发送邮件程序 #coding=UTF-8 import smtplib from email.mime.text import MIMEText smtp_host="smtp.163.com" smtp_port="25" mail_user="[email protected]" mail_password="1111222" def send_mail(to_list,subject,cont

再谈用java实现Smtp发送邮件之Socket编程

很多其它内容欢迎訪问个人站点   http://icodeyou.com 前几天利用Socket实现了用java语言搭建webserver,全程下来应该会对Socket这个东西已经使用的很熟悉了.尽管抽象,可是使用过一次之后就会感受到它在网络通信上的作用是多么的强大.正好,今天就继续用Socket来练习使用下面Smtp协议发送一封简单的电子邮件.今天的故事呢,是我要约我女神出去吃饭啦啦啦~~~所以,面对Smtp.仅仅许成功,不许失败. 全局假定我的邮箱为[email protected]   女

WordPress SMTP发送邮件插件:WP SMTP

对于一个网站而言,发送邮件的功能是必不可少的,现在的主机一般都支持发送邮件,但是不同的主机由于函数限制或者某些其他原因,可能造成没办法正常发送邮件.这时候,我们可能就要借助第三方SMTP发送邮件. 对于使用WordPress建站的朋友来说,SMTP发送邮件的插件还是比较多的,功能大多类似,下面以WP SMTP为例讲解一下配置. WP SMTP简介 WP SMTP插件是国人制作的,设置页面的顶部包含了 Gmail邮箱.微软邮箱.163邮箱.QQ邮箱的设置示例,可以点击对应的图标查看示例截图,其他邮

将PHPMailer整合到ThinkPHP中实现SMTP发送邮件

ThinkPHP没有邮件发送的功能,于是,我就想了想,就将PHPMailer整合到ThinkPHP中吧. PHPMailer是不符合ThinkPHP规范的插件程序,所以,我们需要先将PHPMailer程序放到ThinkPHP的 Library/Vendor目录下,我这里是最新版的ThinkPHP 3.2,如果是是ThinkPHP 3.2之前的版本,可能就是Lib目录了.Vendor目录专门用于存放非标准ThinkPHP插件的目录,如下: PHPMailer整合到ThinkPHP中的存放目录 接下

gitlab配置通过smtp发送邮件(QQ exmail腾讯企业为例)

gitlab配置通过smtp发送邮件(QQ exmail腾讯企业为例) 首先祭出官网文档链接:https://docs.gitlab.com/omnibus/settings/smtp.html 其实官网已经说的很清楚了,并且给出了QQ邮箱的范例(BAT还是屌的) 1. 编辑/etc/gitlab/gitlab.rb文件(加到文件最后面就好了).以QQ企业邮箱为例: 1 2 3 4 5 6 7 8 9 gitlab_rails['smtp_enable'] = true gitlab_rails

使用mail/mailx通过office365 SMTP发送邮件

Mailx是一个智能邮件处理系统,提供POSIX mailx命令功能,提供MIME.IMAP.POP3.SMTP和S/MIME扩展,通过调用sendmail来发送邮件. 安装mailx: # yum install mailx mailx语法 mailx [-BDdEFintv~] [-s subject] [-a attachment ] [-c cc-addr] [-b bcc-addr] [-r from-addr] [-h hops] [-A account] [-S variable[

Linux学习笔记:使用外部SMTP发送邮件

在CENTOS 6.3上,安装mailx,即可使用外部smtp服务器来发送邮件, yum install mailx -y 安装好后,编辑配置文件 mailx -V 12.4 7/29/08  <<mailx的版本号 rpm -qc mailx /etc/mail.rc   <<网上很多教程写了配置文件名是nail.rc,难道是旧版的缘故? vi /etc/mail.rc 在文件最后加入以下内容.(关于这个配置文件,man是没有资料的,我也是参考网上别的教程,如果要具体研究,估计要

zabbix使用系统自带mailx(mail)SMTP发送邮件

0x01,环境介绍: 我们用的是微软的邮箱打算用SMTP方式发送邮件.先登录账户看官方给出SMTP信息. 0x02,系统mailx(mail)设置. 通过命令可以看到,mail实际上是mailx的快捷方式.然后在/etc/mail.rc里加入账号等信息. SMTP加密方式是:STARTTLS set from=Zabbix使用的发送邮件地址 set smtp=smtp.office365.com set smtp-auth-user=Zabbix使用的发送邮件地址 set smtp-auth-p