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+