C#通过SMTP发送邮件代码示例

640?wx_fmt=jpeg

1、新建SMTP.cs类库文件

public class SMTP

    {

        /// <summary>

        /// SMTP服务器

        /// </summary>

        public string smtp { get; set; }

        /// <summary>

        /// SMTP服务器端口

        /// </summary>

        public int port { get; set; }

        /// <summary>

        /// 发件人

        /// </summary>

        public string from { get; set; }

        /// <summary>

        /// 发件人密码

        /// </summary>

        public string password { get; set; }

        /// <summary>

        /// 邮件主题

        /// </summary>

        public string subject { get; set; }

        /// <summary>

        /// 邮件主题

        /// </summary>

        public string body { get; set; }

        /// <summary>

        /// 收件人邮箱

        /// </summary>

        public string strto { get; set; }

        /// <summary>

        /// 抄送邮箱

        /// </summary>

        public List<string>    strcc=new List<string>();

        /// <summary>

        /// 发送邮件

        /// </summary>

        public void SendMail()

        {

            SmtpClient client = new SmtpClient();

            client.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式    

            client.Host = this.smtp;//邮件服务器

            client.UseDefaultCredentials = false;

            client.EnableSsl = true;

            client.Credentials = new System.Net.NetworkCredential(this.from, this.password);//用户名、密码

            client.Port = this.port;

            //client.EnableSsl = true;

        

            var msg = new MailMessage();

            msg.From = new MailAddress(this.from);

            msg.To.Add(strto);

            if (this.strcc!=null&& this.strcc.Count>0 )

            {

                foreach (string OneStrcc in strcc)

                {

                    msg.CC.Add(OneStrcc);

                }

            }

            

            msg.Subject = subject;//邮件标题   

            msg.Body = body;//邮件内容   

            msg.BodyEncoding = System.Text.Encoding.UTF8;//邮件内容编码   

            msg.IsBodyHtml = true;//是否是HTML邮件   

            msg.Priority = MailPriority.High;//邮件优先级   

            try

            {

                client.Send(msg);

            }

            catch (SmtpException ex)

            {

                throw ex;

            }

        }

    }

2、使用示例

try

        {

            var theSMTP = new SMTP

            {

                smtp = ConfigurationManager.AppSettings["smtp"],

                port = Convert.ToInt32(ConfigurationManager.AppSettings["port"]),

                from = ConfigurationManager.AppSettings["from"],

                password = ConfigurationManager.AppSettings["password"],

                subject = "主题",

                body = "内容"

            };

            theSMTP.strto ="xxx@qq.com";

            theSMTP.strcc.Add("xxx@qq.com");

            theSMTP.SendMail();

        }

        catch (Exception ex)

        {

        }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/272259.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker下载tomact

docker run -it -p 8080:8080 tomcat 比如下载tomcat,你现在去访问&#xff0c;先访问docker里面的tomcat, 左边的8080是对外暴露的服务端口&#xff0c;对应着右边的8080是tomact的实际端口 下载tomcat 启动tomcat docker run -it -p 8080:8080 tomcat

Wijmo 2016年蓝图

2015年很快就过去了&#xff0c;这是 Wijmo 重要的一年&#xff0c;尤其是对 Wijmo5。脱离传统的小部件&#xff0c;重新写一套 JS 控件&#xff0c;现在看来这个决定是正确的。用 TypeScript 写 Wijmo5&#xff0c;意味着我们没有任何依赖&#xff0c;不再需要 jQuery&#xf…

IDEA安装和运行HelloWorld

IDEA安装&#xff1a; IDEA中Hello World步骤&#xff1a; ① ②点击创建空项目&#xff0c;下一步 ③ ④在打开后会弹出以下界面&#xff0c;然后点击新建模块 ⑤点击新建模块后出现以下界面&#xff0c;选择java并选择JDK的安装路径。 ⑥然后修改模块名称&#xff0c;点击…

C#获取电脑IP、MAC地址示例代码

/// <summary> /// 使用 C# 自带的类库实现计算机信息获取 /// </summary> public class DefaultDeviceInfo { public virtual string GetCpuId() { try { string cpuInfo " "; ManagementClass cimobject new ManagementClass("Win32_Processor…

docker运行随机分配端口

docker run -d -it -P tomcat -P这个是大写的P&#xff0c;表示随机分配端口 执行后可以看到32768为随机分配的端口&#xff0c;8080是tomcat端口 测试成功

C# Stream 和 byte[] 之间的转换

/// <summary> /// 将 Stream 转成 byte[] /// </summary> public byte[] StreamToBytes(Stream stream) { byte[] bytes new byte[stream.Length]; stream.Read(bytes, 0, bytes.Length); // 设置当前流的位置为流的开始 stream.Seek(0, SeekOrigin.Begi…

docker下如何进入到容器中

1:查看容器 docker ps -a 2:进入容器 docker exec -it e3cc80415dc7 /bin/bash 退出容器 exit

java方法和 IDEA Debug调试

方法的概述&#xff1a; 方法就是将具有独立功能的代码块&#xff0c;组织成为一个整体&#xff0c;使其具有特殊功能的代码集。我感觉方法就是类里面的函数 注意&#xff1a; 方法必须先创建才可以使用&#xff0c;该过程称为方法的定义。方法创建后并不是直接运行的&#xf…

编译性语言、解释性语言和脚本语言的区别

计算机是不能理解高级语言&#xff0c;当然也就不能直接执行高级语言了。计算机只能直接理解机器语言&#xff0c;所以任何语言&#xff0c;都必须将其翻译成机器语言&#xff0c;计算机才能运行高级语言编写的程序。 一、翻译和解释的不同 翻译的方式有两种&#xff0c;一个是…

为什么JAVA的垃圾回收机制无法避免内存泄漏

一、本文参考&#xff1a;1.《深入理解java虚拟机 JVM高级特性与最佳实践》2.http://coderevisited.com/memory-leaks-in-java/二、对象已死的判定方法要进行JVM中对象回收首先要判断对象是否已经死亡&#xff0c;判断的方法有如下几个&#xff1a;1.引用计数法给对象中添加一个…

【代码笔记】iOS-点击城市中的tableView跳转到旅游景点的tableView,下面会有“显示”更多。...

一&#xff0c;效果图。 二&#xff0c;工程图。 三&#xff0c;代码。 RootViewController.h #import <UIKit/UIKit.h>interface RootViewController : UIViewController <UITableViewDelegate,UITableViewDataSource> {UITableView * _tableView;NSMutableArray …

Android Studio项目结构介绍

新建一个空的工程会出现以下界面&#xff1a; 从上往下依次是&#xff1a;项目名称、包名、项目存储的位置、项目所用的语言、项目所用的Android的系统版本。 进入之后右侧可选择界面的展示结构&#xff1a; 如果选择Android则会出现下面的结构展示&#xff1a;MainActivity是…

对于Ping的过程,你真的了解吗?

作者&#xff1a; 木木匠链接&#xff1a;https://juejin.im/post/5c15ec0f6fb9a049ec6af8b2一、概览对于ping命令&#xff0c;想必只要是程序员都知道吧&#xff1f;当我们检查网络情况的时候&#xff0c;最先使用的命令肯定是ping命令吧&#xff1f;一般我们用ping查看网络情…

Andropid自己定义组件-坐标具体解释

在做一个view背景特效的时候被坐标的各个获取方法搞晕了&#xff0c;几篇抄来抄去的博客也没弄非常清楚。 如今把整个总结一下。 事实上仅仅要把以下这张图看明确就没问题了。 涉及到的方法一共同拥有以下几个&#xff1a; view获取自身坐标&#xff1a;getLeft(),getTop(),get…

RocketMQ带你快速入门

1. MQ介绍 ##1.1 为什么要用MQ 消息队列是一种“先进先出”的数据结构 转存失败重新上传取消 其应用场景主要包含以下3个方面 应用解耦 系统的耦合性越高&#xff0c;容错性就越低。以电商应用为例&#xff0c;用户创建订单后&#xff0c;如果耦合调用库存系统、物流系统、…

年过35岁的程序员都去哪了?一张图道尽老程序员们的花样出路

有人来&#xff0c;有人去。程序员何其多&#xff0c;想知道他们都去哪了吗?对于程序员的工作出路&#xff0c;小编有以下几点建议&#xff1a;20-27岁&#xff1a;技术积累阶段假设本科22岁毕业&#xff0c;那么工作的前5年对你来说是打基础的阶段。在这5年时间里面&#xff…

分布式、高并发、多线程,到底有什么区别?

当提起这三个词的时候&#xff0c;是不是很多人都认为分布式高并发多线程&#xff1f;当面试官问到高并发系统可以采用哪些手段来解决&#xff0c;或者被问到分布式系统如何解决一致性的问题&#xff0c;是不是一脸懵逼&#xff1f;确实&#xff0c;在一开始接触的时候&#xf…

九种跨域方式实现原理(完整版)

前言前后端数据交互经常会碰到请求跨域&#xff0c;什么是跨域&#xff0c;以及有哪几种跨域方式&#xff0c;这是本文要探讨的内容。一、什么是跨域&#xff1f;1.什么是同源策略及其限制内容&#xff1f;同源策略是一种约定&#xff0c;它是浏览器最核心也最基本的安全功能&a…