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 条评论
登录 后参与评论

相关文章

来自专栏一个爱瞎折腾的程序猿

sqlserver使用存储过程跟踪SQL

USE [master] GO /****** Object: StoredProcedure [dbo].[sp_perfworkload_trace_s...

2060
来自专栏我和未来有约会

Silverlight第三方控件专题

这里我收集整理了目前网上silverlight第三方控件的专题,若果有所遗漏请告知我一下。 名称 简介 截图 telerik 商 RadC...

4025
来自专栏张善友的专栏

Miguel de Icaza 细说 Mix 07大会上的Silverlight和DLR

Mono之父Miguel de Icaza 详细报道微软Mix 07大会上的Silverlight和DLR ,上面还谈到了Mono and Silverligh...

2707
来自专栏张善友的专栏

LINQ via C# 系列文章

LINQ via C# Recently I am giving a series of talk on LINQ. the name “LINQ via C...

2645
来自专栏大内老A

The .NET of Tomorrow

Ed Charbeneau(http://developer.telerik.com/featured/the-net-of-tomorrow/) Exciti...

31710
来自专栏Golang语言社区

【Golang语言社区】GO1.9 map并发安全测试

var m sync.Map //全局 func maintest() { // 第一个 YongHuomap := make(map[st...

4708
来自专栏闻道于事

js登录滑动验证,不滑动无法登陆

js的判断这里是根据滑块的位置进行判断,应该是用一个flag判断 <%@ page language="java" contentType="text/html...

6798
来自专栏转载gongluck的CSDN博客

cocos2dx 打灰机

#include "GamePlane.h" #include "PlaneSprite.h" #include "BulletNode.h" #include...

5456
来自专栏java 成神之路

使用 NIO 实现 echo 服务器

4617
来自专栏一个会写诗的程序员的博客

Spring Reactor 项目核心库Reactor Core

Non-Blocking Reactive Streams Foundation for the JVM both implementing a Reactiv...

2152

扫码关注云+社区