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.pswp.cn/news/272259.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/272259.shtml
英文地址,請注明出處:http://en.pswp.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.引用計數法給對象中添加一個…

Java里try catch的簡單用法

Java里try catch的簡單用法&#xff1a; Java里try catch的簡單用法&#xff1a; 1、trycatch 程序的流程是&#xff1a;運行到try塊中&#xff0c;如果有異常拋出&#xff0c;則轉到catch塊去處理。然后執行catch塊后面的語句 擴展部分&#xff1a; 1、trycatchfinally 程序…

【代碼筆記】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…

一階段結束考核題(鏈表的嵌套使用)

鏈表A&#xff0c;每個節點存放一個新的鏈表B1&#xff0c;B2,B3,B4,B5的頭結點。 場景&#xff1a;一個年級&#xff0c;相當鏈表A 該年級5個班&#xff0c;每個班5個人&#xff0c;相當于鏈表B1–B5 做一個學生成績管理系統 學生成績有語文 數學 英語 功能&#xff1a; 錄入成…

RocketMQ帶你快速入門

1. MQ介紹 ##1.1 為什么要用MQ 消息隊列是一種“先進先出”的數據結構 轉存失敗重新上傳取消 其應用場景主要包含以下3個方面 應用解耦 系統的耦合性越高&#xff0c;容錯性就越低。以電商應用為例&#xff0c;用戶創建訂單后&#xff0c;如果耦合調用庫存系統、物流系統、…

年過35歲的程序員都去哪了?一張圖道盡老程序員們的花樣出路

有人來&#xff0c;有人去。程序員何其多&#xff0c;想知道他們都去哪了嗎?對于程序員的工作出路&#xff0c;小編有以下幾點建議&#xff1a;20-27歲&#xff1a;技術積累階段假設本科22歲畢業&#xff0c;那么工作的前5年對你來說是打基礎的階段。在這5年時間里面&#xff…