最近看到很多人在問這個問題就是如何在Mail的正文中如何顯示附件的圖片本人也不會就去網上搜索可是網上竟然沒有(可能是太簡單很多人不屑提供代碼)於是本人就嘗試
最先想到的就是outLook可以顯示附件中的圖片於是在OutLook的郵件正文:右鍵>ViewSource 就看到了
<img width=
height=
id=
_x
_i
src=
cid:image
jpg@
C
C
AF
C
E
ED
>
這種代碼 所以產生的第一個想法就是在寫正文的時候自動根據附件去生成類似代碼說干就干馬上動手!
新建一個網站拖幾個FileUpload 上去如下圖
根據MicroSoft自帶的SystemNetMail 組件完成發送方法代碼如下
using System;
using System
Collections
Generic;
using System
Text;
using System
Net
Mail;
using System
Net;
using System
IO;
namespace STS
MailSystem
Common
{
public class QMail
{
/**//// <summary>
/// 描述:Email發送通用函數
/// </summary>
/// <param name=
from
>發件人</param>
/// <param name=
to
>收件人(多個收件人以逗號隔開)</param>
/// <param name=
subject
>主題</param>
/// <param name=
text
>內容</param>
/// <param name=
attch
>附件</param>
/// <returns></returns>
public string MailSend(string from
string to
string cc
string subject
string text
Attachment attch
string priority)
{
MailMessage message = new MailMessage(from
to);
message
CC
Add(cc);
message
Subject = subject;
message
Body = text;
//message
CC
Add(new MailAddress(from)); //超送給自己
//message
Bcc
Add(new MailAddress(
));
if (attch != null)
{
Attachment data = attch;
message
Attachments
Add(data);
}
message
BodyEncoding = System
Text
Encoding
UTF
;//編碼方式
switch (priority
ToUpper())
{
case
HIGH
:
message
Priority = MailPriority
High;//優先級
break;
case
NORMAL
:
message
Priority = MailPriority
Normal;//優先級
break;
case
LOW
:
message
Priority = MailPriority
Low;//優先級
break;
default:
message
Priority = MailPriority
Normal;//優先級
break;
}
message
IsBodyHtml = true;//是否是html格式
SmtpClient client = new SmtpClient();//不同情況更改
//client
Credentials = CredentialCache
DefaultNetworkCredentials;//匿名認證
try
{
client
Send(message);
return
;
}
catch (Exception e)
{
return e
Message;
}
}
}
}
[] []
From:http://tw.wingwit.com/Article/program/net/201311/15344.html