1. 程式人生 > >C#傳送郵件(附件)類

C#傳送郵件(附件)類

本部落格主要利用C#中System.Net.Mail中的MailMessage 類進行郵件的傳送。話不多說直接上程式碼:

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Reflection;
using System.Net;
using System.Net.Mail;
using System.Security.Cryptography.X509Certificates;
using System.Net
.Security; using System.Net.Mime;

類主體如下:

/// <summary>
/// 傳送內郵(收件人、抄送人、附件若有多個,用分號[;]隔開)
/// </summary>
/// <param name="toMail">收件人</param>
/// <param name="ccMail">抄送人</param>
/// <param name="subject">郵件主題</param>
/// <param name="content">郵件內容</param>
/// <param name="filepath">
附件路徑</param>
public static bool SendMail(string toMail, string ccMail, string subject, string content, string filepath) { try { var emailAcount = ConfigurationManager.AppSettings["EmailAcount"]; var emailPassword = ConfigurationManager.AppSettings["EmailPassword"
]; var emailServer = ConfigurationManager.AppSettings["SMTPServer"]; var emailServerPort = ConfigurationManager.AppSettings["SMTPServerPort"]; MailMessage message = new MailMessage(); //設定發件人,163郵箱為例,需要在Web.config中進行配置 MailAddress fromAddr = new MailAddress(string.Format("{0}@163.com", emailAcount)); message.From = fromAddr; //遍歷收件人郵箱地址 if (toMail.Trim().Length != 0) { string[] receivers = toMail.Trim().Split(';'); for (int i = 0; i < receivers.Length; i++) { if (receivers[i].Length > 0) { message.To.Add(receivers[i]);//為該郵件新增聯絡人 } } } //遍歷抄送人郵箱地址 if (ccMail.Trim().Length != 0) { string[] ccreceivers = ccMail.Trim().Split(';'); for (int j = 0; j < ccreceivers.Length; j++) { if (ccreceivers[j].Length > 0) { message.CC.Add(ccreceivers[j]);//為該郵件新增抄送人 } } } //設定郵件標題 message.Subject = subject; //設定郵件內容 message.Body = content; //新增附件 if(filepath.Trim().Length != 0) { string[] attachFiles = filepath.Trim().Split(';'); for(int k = 0; k < attachFiles.Length; k++) { if (attachFiles[k].Length > 0) { Attachment data = new Attachment(attachFiles[k], MediaTypeNames.Application.Octet); message.Attachments.Add(data); } } } //設定郵件SMTP伺服器 //SmtpClient client = new SmtpClient("smtp.163.com", 25); SmtpClient client = new SmtpClient(emailServer, Convert.ToInt32(emailServerPort)); //設定傳送人的郵箱賬號和密碼 client.Credentials = new NetworkCredential(emailAcount, emailPassword); //啟用ssl,也就是安全傳送 client.EnableSsl = true; ServicePointManager.ServerCertificateValidationCallback = delegate(Object obj, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors) { return true; }; //傳送郵件 client.Send(message); return true; } catch (Exception ex) { log.Error("SendMail()", ex); return false; } }

相關推薦

C#傳送郵件附件

本部落格主要利用C#中System.Net.Mail中的MailMessage 類進行郵件的傳送。話不多說直接上程式碼: using System; using System.Collections.Generic; using System.Conf

C#傳送郵件新增附件

using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.T

c#傳送郵件帶抄送,密送,群發,附件

using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net.Mail; using System.Net.Mime; using System.Text; using

C# 傳送郵件帶附加件傳送

有時候不太適合寫這些東西:不太會描述,因為在開發過程中遇到了,所以記錄一下,以便後面看看。 由於開發一直用的VS2015或者VS2017,所以不知道其他的版本開發情況,其實差不多 這是下面的核心程式碼:簡單的傳送郵件(不發附件):去掉新增附近的程式碼即可 string user = "***@163.

使用.net(C#)傳送郵件帶成功案例

1.瞭解傳送郵件的三種方式  第一:client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;  //通過遠端SMTP伺服器傳送該郵件,這裡的network表示你要使用的遠端SMTP伺服器。  第

C++語言學習——與對象

clas 進行 自身 ngs 符號表 方法 index clu 每一個 C++語言學習(四)——類與對象 一、構造函數(constructor) 1、構造函數簡介 C++語言中,構造函數是與類名相同的特殊成員函數。在類對象創建時,自動調用構造函數,完成類對象的初始化。類對象

linux 傳送郵件centos

1.安裝mailx 安裝mailx: yum install mailx vi /etc/mail.rc set [email protected] set smtp="smtps://smtp.qq.com:465" set smtp-auth-user=12345678

c++學習總結——與物件

一、心得感悟     c語言的課程學習後,開始c++的學習,首先就是學習類。在學習類時,類的使用與c語言有著極大的差別,一開始學習十分別扭。c語言的學習直接定義幾個形參、函式就可以寫程式了;而到了c++學習,關於類,首先必須定義類。具有相同性質和功能的東西構成的集合,通常歸成一

SprongBoot傳送郵件傳送HTML郵件

在“SprongBoot傳送郵件(一)傳送簡單文字郵件HelloWorld”的基礎上新增如下方法: /** * @param to 郵件收件人 * @param subject 郵件主題 * @param content 郵件

SprongBoot傳送郵件傳送帶圖片的郵件

/** * @param to * @param subject * @param content * @param rscPath 檔案路徑 * @param rscId */ public v

monkeyrunner入門之傳送郵件

這裡我已Gmail為例,道理都是一樣的 device.touch裡面的數字是手機螢幕的座標,手機螢幕的座標這樣得知: 開啟設定–系統—開發者選項–指標座標 device.type模擬鍵盤輸入內容 提供可複製程式碼: #coding:utf-8 #儲存檔案格式記得選擇utf-8

C++面試總結

1.struct和class的區別 C++中的struct對C中的struct進行了擴充,它已經不再是一個包含不同資料型別的資料結構了。 struct與class 的區別是預設的訪問控制。 預設的繼承訪問許可權,struct是public的,class是private的。  &

Python用 smtplib在阿里雲伺服器傳送郵件1ni

差點被這個郵件搞哭了,坑真的太多了!!!1.要記得開啟163郵箱的服務具體方法 設定=》左下角的客戶端授權密碼(那時候就要開啟了,會讓你輸入密碼,這個密碼不能和登入的密碼相同程式碼裡也是這個客戶端密碼,不是登入密碼)2.你的IP可能被禁了!!!一開始試了很多的程式碼,都是報錯

C++ 面向物件—— Classes

     類(class)是一種將資料和函式組織在同一個結構裡的邏輯方法。定義類的關鍵字為class ,其功能與C語言中的struct類似,不同之處是class可以包含函式,而不像struct只能包含資料元素。 類定義的形式是: class class_name {

C++基礎知識----成員函式的定義--物件的建立與使用--從面向過程到面向物件

一、類   1.類是一種資料型別,將資料與對資料的操作(函式)放到一起。一個類中的資料通常只能通過本類提供的方法進行處理,這些方法成為該類與外部的介面,物件之間通過訊息進行通訊。   2.如果在類的起始點無訪問說明符,系統預設為私有(private)   3.類是一種資料型別,定義時系統不為類分配儲存空

C++基礎知識----成員函數的定義--對象的創建與使用--從面向過程到面向對象

物理 邏輯 需要 面向對象技術 函數 span void 成員函數 開發 一、類   1.類是一種數據類型,將數據與對數據的操作(函數)放到一起。一個類中的數據通常只能通過本類提供的方法進行處理,這些方法成為該類與外部的接口,對象之間通過消息進行通訊。   2.如果在類的起

springboot傳送郵件5:使用thymeleaf模板傳送郵件

springboot實現郵件功能:使用thymeleaf模板傳送郵件1.建springboot專案,匯入依賴;application.properties配置檔案,看使用thymeleaf模板需要在ap

阿里雲伺服器傳送郵件

一、設定mailx及sendmail軟體 sendmail 進行傳送郵件的應用服務; mailx採用指令mail進行傳送郵件的編輯,通過sendmail進行傳送; 1、 檢查服務狀況 service sendmail status 問題:沒有結果的話,則重新安裝

[Python3]SMTP傳送郵件

# python3 import smtplib from email.mime.text import MIMEText from email.header import Header # 傳送者

C/C++程式設計細節——、繼承、模板、運算子過載

1、類、派生類       C++中類的概念很重要,重要到什麼程度呢?把class/struct看成和main同一個等級,為什麼這麼說呢?因為,C++中不允許全域性變數獨立於類外, 所以,在一個C+