1. 程式人生 > >c#傳送郵件(帶抄送,密送,群發,附件)

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 System.Threading.Tasks;

namespace Test.Demo.Mvc.Hepler
{
    /// 
    /// 傳送郵件幫助類
    /// 
    public class EmailHelper
    {

        //申明郵件操作類
        private MailMessage mail = new MailMessage();

        /// 
        /// 傳送郵件,(抄送人,密送人,回覆地址,所有指示標題非必須,可為null)
        /// 
        /// 傳送人的郵箱
        /// 傳送郵箱的授權碼
        /// 收件人集合,list型別
        /// 郵件的標題,如(xxxx問題反饋)
        /// 郵件的正文部分
        /// 附件地址
        /// 抄送人集合,list型別
        /// 密送人集合,list型別
        /// 郵件指示標題,如(xxxx問題反饋)
        /// 抄送人的指示標題
        /// 密送人的指示標題
        /// 郵件的回覆地址郵箱
        /// 郵件的回覆地址郵箱指示標題
        /// 指定傳送郵件的伺服器地址或IP 
        /// 指定傳送郵件埠 ,預設埠
        /// bool
        public bool sendEmail(string SenderName, string SendCode, List Tosend, string title, string content, string filepath, List CC, List BCC, string SendTitle, string CCtitle, string BCCtitle, string Accept_reply, string acctitle, string host, int post)
        {
            bool success = false;

            //string SenderName = "
[email protected]
";//傳送人的郵箱,後期讀取配置檔案中對應的資料 //string SendCode = "xxxxx";//傳送郵箱的授權碼 bool fj = false;//判斷附件是否新增成功 try { foreach (var item in Tosend) { mail.To.Add(item);//將多個收件人新增到佇列中 } mail.From = new MailAddress(SenderName, SendTitle);//將傳送人新增到佇列中,第二個引數表示郵件中看到的擡頭部分 mail.Subject = title;//標題 mail.SubjectEncoding = Encoding.UTF8;//設定編碼格式 mail.Body = content;//郵件內容 mail.BodyEncoding = Encoding.UTF8; mail.IsBodyHtml = true; mail.Priority = MailPriority.High; //傳送郵件的優先等級 if (!string.IsNullOrWhiteSpace(Accept_reply)) { if (!string.IsNullOrWhiteSpace(acctitle)) { mail.ReplyTo = new MailAddress(Accept_reply, acctitle, Encoding.GetEncoding(936));//回覆的郵箱 } else { mail.ReplyTo = new MailAddress(Accept_reply);//回覆的郵箱 } } //抄送 if (null != CC && CC.Count > 0) { foreach (var item in CC) { if (!string.IsNullOrWhiteSpace(CCtitle)) { mail.CC.Add(new MailAddress(item, CCtitle, Encoding.GetEncoding(936))); } else { mail.CC.Add(new MailAddress(item)); } } } if (null != BCC && BCC.Count > 0) { //密送 foreach (var item in BCC) { if (!string.IsNullOrWhiteSpace(BCCtitle)) { mail.Bcc.Add(new MailAddress(item, BCCtitle, Encoding.GetEncoding(936))); } else { mail.Bcc.Add(new MailAddress(item)); } } } SmtpClient sc = new SmtpClient();//允許應用程式使用簡單的郵件傳輸協議 sc.EnableSsl = true;//是否SSL加密 // sc.Host = "smtp.qq.com"; //指定傳送郵件的伺服器地址或IP //sc.Port = 25; //指定傳送郵件埠 ,預設埠 sc.Host = host; //指定傳送郵件的伺服器地址或IP sc.Port = post; //指定傳送郵件埠 ,預設埠 sc.Credentials = new System.Net.NetworkCredential(SenderName, SendCode); //指定登入伺服器的使用者名稱和密碼(注意:這裡的密碼是開通上面的pop3/smtp服務提供給你的授權密碼,不是你的qq密碼) if (!string.IsNullOrEmpty(filepath) && filepath != "") { if (!ToEnclosure(filepath))//新增附件 { msg = "新增附件失敗"; } else { sc.Send(mail); msg = "傳送郵件成功"; } } //ToEnclosure("C:\\Users\\fanhuquan\\Downloads\\extjs-ux-master.zip"); //sc.Send(mail); success = true; } catch (Exception ex) { success = false; } return success; } /// /// 傳送附件,返回bol型別 /// /// 附件的路徑 private bool ToEnclosure(string filepath) { try { string[] path = filepath.Split(','); //以什麼符號分隔可以自定義 Attachment data; ContentDisposition disposition; for (int i = 0; i < path.Length; i++) { data = new Attachment(path[i], MediaTypeNames.Application.Octet); disposition = data.ContentDisposition; disposition.CreationDate = System.IO.File.GetCreationTime(path[i]); disposition.ModificationDate = System.IO.File.GetLastWriteTime(path[i]); disposition.ReadDate = System.IO.File.GetLastAccessTime(path[i]); mail.Attachments.Add(data);//新增附件 } return true; } catch (Exception ex) { return false; } } } }

相關推薦

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伺服器。  第

python傳送郵件附件

python通過stmp傳送qq郵件,帶附件 import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.header import Head

C#傳送郵件新增附件

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

C#傳送郵件附件

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

javaMail 的郵件傳送包括了抄送CCBCC採用springBoot

首先加程式碼配置檔案來一個 mail.properties mail.smtp.host=smtp.qq.com mail.smtp.port=465 mail.smtp.SSLport=587 mail.smtp.starttlsEnable=true mail.

Android 郵件傳送支援附加檔案抄送多人接收

      上一篇寫了一個java傳送郵件的工具,原本想用到Android中,但是java工程中的jar包與Android中使用的jar是不一樣的。用法也有所不同,其實也一樣,稍微有點變化。    比較懶得我就不喜歡定義什麼物件類來控制訊息的傳送了,之間將訊息塞進去很實在。 

通過javaMail傳送郵件可選新增多個收件人抄送多個附件,超實用

        自己通過學習多人的程式碼,並整理了一個簡單,呼叫方便的通過javaMail傳送郵件。只需填寫發件郵箱地址,密碼;收件人地址,附件,選擇是否儲存,設定自己傳送郵件時的暱稱就ok了。程式碼自動匹配設定smtp服務地址和埠。    傳送郵件需要郵箱地址和密碼,開啟P

Python使用SMTP傳送郵件163yeah等網易郵箱已測試可以

#! /usr/bin/env python # -*- coding: UTF-8 -*- import smtplib from email.mime.text import MIMEText

javaMai+Springl實現給QQ郵箱發郵件附件html格式

就在今天,遇到的需求是給一個QQ郵箱發一份郵件,剛看到需求一看,這不很簡單麼,隨便改改就行了。         於是我花了15分鐘寫出來全部程式碼,但是花了2小時解決了程式碼的bug.........自己都有點佩服了!下面我來說說我的bug是怎麼遇到的和怎麼解決的。   

C#使用SMTP協議傳送郵件騰訊企業郵箱

大部分郵箱都支援使用SMTP協議傳送郵件,使用這種方法可以很方便的在系統開發中傳送郵件。 在C#語言中,傳送郵件的相關類位於System.Net.Mail名稱空間下。 具體過程為建立郵件類MailM

ThinkPHP 中使用 PHPMailer 傳送郵件支援163、QQ郵箱附下載

PHP是自帶可以傳送郵件的Mail()函式的,但需要在php.ini配置。本文將介紹一種簡單的通過PHPMailer傳送郵件的方法。 而PHPMailer是一個用於傳送電子郵件的PHP函式包,它可以使用SMTP的方法通過163、QQ郵箱等第三方伺服器傳送郵件。這樣還有一個好

C# 復制格式Excel工作表

C# .NET Excel API 類庫 復制 .NET 本文將介紹在C#中復制工作表數據的方法。對工作表的復制考慮了兩種情況來進行 在同一個工作簿內的不同工作表之間進行復制 在不同工作簿之間的不同工作表間進行復制(這裏的復制是包含了復制數據、邊框、底紋、公式等原數據表格的所有內容)另外

Android+Jenkins自動化打包+上傳蒲公英+傳送郵件測試必會

Android+Jenkins自動化打包+上傳蒲公英+傳送郵件   各位好,由於經常要修改客戶端的伺服器地址和要區分渠道為了方便測試打包學習了一下Jenkins,期間遇到一些問題,反正就是問題比較多,網上也搜了很多東西但是比較散都講了一點,特地自己整理了一下 ,也將自己遇到的坑在這

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

python 傳送郵件文字、表格、附件

import pandas as pd import smtplib   from email.mime.text import MIMEText   from email.mime.multipart import MIMEMultipart filena

傳送郵件多人

#SMTP:簡單郵件傳輸協議,屬於TCP/IP協議#smtplib模組,傳送郵件#email模組,負責構造郵件import smtplib #傳送郵件模組from email.mime.text import MIMEText #定義郵件內容from email.header import Header #

C# 傳送郵件功能實現

郵件傳送功能在OA以及一些網站驗證中很常用。下面是郵件傳送的一個函式,引數傳入收件人地址,郵件主題,郵件內容,讀者可根據自己的需求新增郵件的附件或者抄送人等。  /// <summary> /// 傳送郵件 /// </su

python中傳送郵件普通文字檔案、附件、圖片等

1、傳送普通文字檔案 #coding=utf-8 import smtplib from email.mime.text import MIMEText from email.header import Header host = 'smtp.126.com' # 設定