当前位置: 首页 > 编程笔记 >

C#实现SMTP邮件发送程序实例

郁宾鸿
2023-03-14
本文向大家介绍C#实现SMTP邮件发送程序实例,包括了C#实现SMTP邮件发送程序实例的使用技巧和注意事项,需要的朋友参考一下

通常来说邮件发送功能在网站应用程序中经常会用到,包括大家经常看到的博客,在添加评论后,系统会自动发送邮件通知到我邮箱的,把系统发送邮件的功能整理了下,本文展示了一个客户端Demo,希望对有需要的朋友有所帮助。运行效果如下图所示:

核心代码如下:

using System;

using System.Net;

using System.Net.Mail;

using System.Text;

namespace HC.Email

{

    /// <summary>

    ///     整站邮件服务类

    /// </summary>

    public class EmailService

    {

        /// <summary>

        ///     发送邮件

        /// </summary>

        /// <param name="mailTo">收件人

        /// <param name="subject">主题

        /// <param name="body">内容

        /// <returns></returns>

        public static bool Send(string mailTo, string subject, string body)

        {

            return Send(new[] {mailTo}, null, subject, body, true, null);

        }

        /// <summary>

        ///     发送邮件

        /// </summary>

        /// <param name="mailTo">收件人

        /// <param name="subject">主题

        /// <param name="body">内容

        /// <returns></returns>

        public static bool Send(string[] mailTo, string subject, string body)

        {

            return Send(mailTo, null, subject, body, true, null);

        }

 

        /// <summary>

        ///     发送邮件

        /// </summary>

        /// <param name="mailTo">收件人

        /// <param name="subject">主题

        /// <param name="body">内容

        /// <param name="attachmentsPath">附件

        /// <returns></returns>

        public static bool Send(string[] mailTo, string subject, string body, string[] attachmentsPath)

        {

            return Send(mailTo, null, subject, body, true, attachmentsPath);

        }

 

        /// <summary>

        ///     发送邮件

        /// </summary>

        /// <param name="mailTo">收件人

        /// <param name="mailCcArray">抄送

        /// <param name="subject">主题

        /// <param name="body">内容

        /// <param name="isBodyHtml">是否Html

        /// <param name="attachmentsPath">附件

        /// <returns></returns>

        public static bool Send(string[] mailTo, string[] mailCcArray, string subject,string body, bool isBodyHtml,

                                string[] attachmentsPath)

        {

            try

            {

                var config = ConfigHelper.GetConfig<emailconfig>();

                if (string.IsNullOrEmpty(config.Host) ||string.IsNullOrEmpty(config.UserName) ||

                    string.IsNullOrEmpty(config.Port) ||string.IsNullOrEmpty(config.Password))

                {

                    //todo:记录日志

                    return false;

                }

                var @from = new MailAddress(config.MailFrom); //使用指定的邮件地址初始化MailAddress实例

                var message = new MailMessage(); //初始化MailMessage实例

                //向收件人地址集合添加邮件地址

                if (mailTo != null)

                {

                    foreach (string t in mailTo)

                    {

                        message.To.Add(t);

                    }

                }

 

                //向抄送收件人地址集合添加邮件地址

                if (mailCcArray != null)

                {

                    foreach (string t in mailCcArray)

                    {

                        message.CC.Add(t);

                    }

                }

                //发件人地址

                message.From = @from;

 

                //电子邮件的标题

                message.Subject = subject;

 

                //电子邮件的主题内容使用的编码

                message.SubjectEncoding = Encoding.UTF8;

 

                //电子邮件正文

                message.Body = body;

 

                //电子邮件正文的编码

                message.BodyEncoding = Encoding.Default;

                message.Priority = MailPriority.High;

                message.IsBodyHtml = isBodyHtml;

 

                //在有附件的情况下添加附件

                if (attachmentsPath != null && attachmentsPath.Length > 0)

                {

                    foreach (string path in attachmentsPath)

                    {

                        var attachFile = new Attachment(path);

                        message.Attachments.Add(attachFile);

                    }

                }

                try

                {

                    var smtp = new SmtpClient

                        {

                            Credentials = new NetworkCredential(config.UserName, config.Password),

                            Host = config.Host,

                            Port = Convert.ToInt32(config.Port)

                        };

 

                    //将邮件发送到SMTP邮件服务器

                    smtp.Send(message);

                    //todo:记录日志

                    return true;

                }

                catch (SmtpException ex)

                {

                    //todo:记录日志

                    return false;

                }

            }

            catch (SmtpException ex)

            {

                //todo:记录日志

                return false;

            }

        }

    }

}

完整实例代码点击此处本站下载。

希望本文所述对大家的C#程序设计有所帮助

 类似资料:
  • 本文向大家介绍Python实现SMTP邮件发送,包括了Python实现SMTP邮件发送的使用技巧和注意事项,需要的朋友参考一下 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。 python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封装。 SMTP

  • 本文向大家介绍PHP实现SMTP邮件的发送实例,包括了PHP实现SMTP邮件的发送实例的使用技巧和注意事项,需要的朋友参考一下 当你还在纠结php内置的mail()函数不能发送邮件时,那么你现在很幸运,此时的这篇文章可以帮助到你! php利用smtp类来发邮件真是屡试不爽,我用过很久了,基本上没出过问题。本博客后台,当博主回复留言时候,会自动给网友发一封有新回复提示的邮件也是用的本文这个方法实现的

  • 本文向大家介绍python3实现SMTP发送邮件详细教程,包括了python3实现SMTP发送邮件详细教程的使用技巧和注意事项,需要的朋友参考一下 简介   Python发送邮件的教程本人在网站搜索的时候搜索出来了一大堆,但是都是说了一大堆原理然后就推出了实现代码,我测试用给出的代码进行发送邮件时都不成功,后面找了很久才找到原因,这都是没有一个详细的环境调试导致,所以今天特出一个详细的教程,一步一

  • 本文向大家介绍C#实现QQ邮箱发送邮件,包括了C#实现QQ邮箱发送邮件的使用技巧和注意事项,需要的朋友参考一下 闲着蛋疼。计划着改善公司的邮件服务。怎料公司网络封闭的太厉害了。我只能在家里利用开放点的网络来测试发送邮件; 利用qq邮箱发送到公司的企业邮箱上; 前提准备,登陆qq邮箱开启stmp服务。不开启的话没法通过代码登陆到你的邮箱; 查询腾讯qq邮箱的smtp主机地址为:smtp.qq.com

  • 本文向大家介绍C# SMTP发送邮件的示例,包括了C# SMTP发送邮件的示例的使用技巧和注意事项,需要的朋友参考一下 在程序开发中通常有推送消息的需求,通常为短信服务,邮件,电话提醒。 短信及电话提醒通常需要向运营商购买服务调用接口,比较麻烦。邮件信息推送也是不错的选择,下面使用C#实现SMTP发送邮件 以上就是C# SMTP发送邮件的示例的详细内容,更多关于C# SMTP发送邮件的资料请关注呐

  • SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。 Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件。 首先,我们来构造一个最简单的纯文本邮件: from email.mime.text import MIMEText msg = MIMEText('hello, send