C#邮件发送类 简单实用 可自定义发件人名称

上图看效果

MailHelper:

public class MailHelper
    {
        public bool SendMail(MailSender sender,out string errorMsg)
        {
            //声明一个Mail对象
            MailMessage mymail = new MailMessage();
            //发件人地址
            //如是自己,在此输入自己的邮箱
            mymail.From = new MailAddress(sender.SendAddress,sender.SendNickName,Encoding.UTF8);
            //收件人地址
            mymail.To.Add(new MailAddress(sender.ReceiveAddress));
            //邮件主题
            mymail.Subject = sender.Title;
            //邮件标题编码
            mymail.SubjectEncoding = Encoding.UTF8;
            //发送邮件的内容
            mymail.Body = sender.Content;
            //邮件内容编码
            mymail.BodyEncoding = Encoding.UTF8;
            //添加附件
            foreach (var attachment in sender.Attachments)
            {
                mymail.Attachments.Add(attachment);
            }
            
            //抄送到其他邮箱
            foreach (var str in sender.Cc)
            {
                mymail.CC.Add(new MailAddress(str));
            }
            
            //是否是HTML邮件
            mymail.IsBodyHtml = sender.IsBodyHtml;
            //邮件优先级
            mymail.Priority = sender.MailPriority;
            //创建一个邮件服务器类
            SmtpClient myclient = new SmtpClient();
            myclient.Host = sender.Host;
            //SMTP服务端口
            myclient.Port = sender.Port;
            //验证登录
            myclient.Credentials = new NetworkCredential(sender.Username, sender.Password);//"@"输入有效的邮件名, "*"输入有效的密码
            try
            {
                myclient.Send(mymail);
                errorMsg = "";
                return true;
            }
            catch (Exception ex)
            {
                errorMsg = ex.Message;
                return false;
            }
            
        } 

  调用:

MailSender sender=new MailSender();
            sender.SendAddress = "***@***.com";
            sender.SendNickName = "辰晓晨";
            sender.ReceiveAddress = "***@***.com";
            sender.Host = "smtp.***.com";
            sender.Port = 25;
            sender.Username = "****@***.com";
            sender.Password = "******";
            sender.Title = "来自辰晓晨的邮件";
            sender.Content = "来自辰晓晨的邮件";
            sender.IsBodyHtml = false;
            sender.MailPriority=MailPriority.Normal;
            MailHelper.MailHelper mailHelper = new MailHelper.MailHelper();
            string errorMsg;
            if (mailHelper.SendMail(sender, out errorMsg))
            {
                Console.WriteLine("发送成功");
                
            }
            else
            {
                Console.WriteLine("发送失败:"+errorMsg);
                
            }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏mukekeheart的iOS之旅

《从零开始做一个MEAN全栈项目》(3)

欢迎关注本人的微信公众号“前端小填填”,专注前端技术的基础和项目开发的学习。   上一篇文章给大家讲了一下本项目的开发计划,这一章将会开始着手搭建一个MEAN项...

2604
来自专栏猿份到

maven私服快速入门

android 开发时,类库依赖管理一般是拷贝到相应 libs 目录然后配置文件中引用该类库,或者引用 jceneter 中第三方类库等。 前者...

2738
来自专栏北京马哥教育

教程 | Linux常用命令大全

ls -h (文件大小显示为常见大小单位 B KB MB ...)

1020
来自专栏云计算教程系列

你的nginx访问过慢?增加个模块吧!

ngx_pagespeed 是nginx web服务器的一个模块,通过安装它你的网站加载速度将会“嗖”的一下上升。

3553
来自专栏哈雷彗星撞地球

Node.js 撸第一个Web应用

使用Node.js 创建Web 应用与使用PHP/Java 语言创建Web应用略有不同。 使用PHP/Java 来编写后台代码时,需要Apache 或者 Ng...

704
来自专栏蓝天

安装Android SDK Manager的“Failed to fetch refused”问题解决方法

安装Android SDK Manager的“Failed to fetch refused”问题解决方法

783
来自专栏偏前端工程师的驿站

CentOS6.5菜鸟之旅:VIM插件NERDtree初探

一、介绍                               用于浏览目录结构的插件,功能和windows的资源管理器类似。 二、安装过程       ...

1765
来自专栏Java成长之路

JDK环境变量设置详解

下载好的JDK是一个可执行安装程序,双击安装。安装路径:C:\jdk1.6.0(当然其他路径也可以)。

1203
来自专栏云计算教程系列

如何在Ubuntu 18.04上安装R [快速入门]

R是一种开源编程语言,专门用于统计计算和图形。在本教程中,我们将在Ubuntu 18.04服务器上安装R.

1100
来自专栏青枫的专栏

若想在当前路径下去运行非当前路径下的.class文件(即java可执行文件),该如何操作?

想在当前路径下去运行非当前路径下的.class文件(即java可执行文件),亦即可在任意目录下都可以执行java程序。

521

扫码关注云+社区