使用C#发送带附件的电子邮件的方法的代码示例分析

以下代码除了实现发送简单的邮件以外,还包括了发送附件。From图没有贴出,上面就两按钮,一个“添加附件”、一个“发送”。点击添加附件选择文件, 文件路径全存储在listbox1中。在发送按钮方法中,把listbox1所有的文件添加到mailmessage对象里作为邮件发送出去了,请看代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net.Mail;
using System.Net;
using System.Net.Security;
using System.IO;
using System.Net.Mime;
namespace SmtpTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
try
{
//定义一个mail对象
MailMessage mailmessage = new MailMessage(““, ““, “this is a test”, “yes!test!”);
//from email,to email,主题,邮件内容
mailmessage.Priority = MailPriority.Normal; //邮件优先级
SmtpClient smtpClient = new SmtpClient(“smtp.163.com”, 25); //smtp地址以及端口号
smtpClient.Credentials = new NetworkCredential(“ttlsa.com”, “xxxxxx”);//smtp用户名密码
smtpClient.EnableSsl = true; //启用ssl
//添加附件
Attachment attachment =null;
if(listBox1.Items.Count>0)
{
for (int i = 0; i < listBox1.Items.Count; i++)
{
string pathFileName = listBox1.Items[i].ToString();
string extName = Path.GetExtension(pathFileName).ToLower(); //获取扩展名
if(extName==”.rar”||extName==”.zip”) //.rar和.zip的文件属于压缩文件类型
{
attachment = new Attachment(pathFileName,MediaTypeNames.Application.Zip);
}else
{
attachment = new Attachment(pathFileName,MediaTypeNames.Application.Octet);
}
//设置附件的MIME信息
ContentDisposition cd = attachment.ContentDisposition;
cd.CreationDate = File.GetCreationTime(pathFileName);//设置附件的创建时间
cd.ModificationDate = File.GetLastWriteTime(pathFileName);//设置附件的修改时间
cd.ReadDate = File.GetLastAccessTime(pathFileName);//设置附件的访问时间
mailmessage.Attachments.Add(attachment);//将附件添加到mailmessage对象
}
}
smtpClient.Send(mailmessage);
MessageBox.Show(“发送成功”);
}
catch (SmtpException se)
{
MessageBox.Show(se.StatusCode.ToString());
}
}
//添加附件,把文件添加到listbox中
private void button2_Click(object sender, EventArgs e)
{
OpenFileDialog opd = new OpenFileDialog();//定义一个选择文件的对话框
opd.Multiselect = true;//允许选择多个文件
opd.CheckFileExists = true;//检查文件是否存在
opd.ValidateNames = true;//检查文件名的可用性
opd.ShowDialog();//打开对话框
if(opd.FileNames.Length>0)//将选择的文件路径写入listbox中
{
listBox1.Items.AddRange(opd.FileNames);
}
}
}
}

PS:利用网易163smtp邮箱发送邮件

protected void Button2_Click(object sender, EventArgs e)
  {
    System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient();
    client.Host = "smtp.163.com";//使用163的SMTP服务器发送邮件
    client.UseDefaultCredentials = true;
    client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
    client.Credentials = new System.Net.NetworkCredential("用户名", "密码");//163的SMTP服务器需要用163邮箱的用户名和密码作认证,如果没有需要去163申请个,
    //这里假定你已经拥有了一个163邮箱的账户,用户名为abc,密码为*******
    System.Net.Mail.MailMessage Message = new System.Net.Mail.MailMessage();
    Message.From = new System.Net.Mail.MailAddress("上述用户名密码所对应的邮箱地址");//这里需要注意,163似乎有规定发信人的邮箱地址必须是163的,而且发信人的邮箱用户名必须和上面SMTP服务器认证时的用户名相同
    //因为上面用的用户名abc作SMTP服务器认证,所以这里发信人的邮箱地址也应该写为abc@163.com
    Message.To.Add("目标邮箱地址");//将邮件发送给Gmail
    //Message.To.Add("123456@qq.com");//将邮件发送给QQ邮箱
    Message.Subject = "customer feedback";
    Message.Body = "customer feedback content";
    Message.SubjectEncoding = System.Text.Encoding.UTF8;
    Message.BodyEncoding = System.Text.Encoding.UTF8;
    Message.Priority = System.Net.Mail.MailPriority.High;
    Message.IsBodyHtml = true;
    client.Send(Message);
  }
(0)

相关推荐

  • C#实现的自定义邮件发送类完整实例(支持多人多附件)

    本文实例讲述了C#实现的自定义邮件发送类.分享给大家供大家参考,具体如下: using System; using System.Collections.Generic; using System.Text; using System.Net; using System.Net.Mail; using System.Net.Mime; namespace ConsoleApplication1 { /// <summary> /// 发送邮件类 的摘要说明 /// </summary&g

  • C#通过POP3获取邮件的代码(正文和附件)

    使用方法: 获取第1封邮件 复制代码 代码如下: Zgke.Net.POP3 _Popt = new Zgke.Net.POP3("192.168.0.1", 110); DataTable _Mail = _Popt.GetMail("zk", "zk", 1); 返回DataTable 数据内容为 Type为类型 Text为文字 如果是附件 为byte[] Name 如果是附件里存放的为文件名  下面是全部的类 复制代码 代码如下: usin

  • C#编程实现发送邮件的方法(可添加附件)

    本文实例讲述了C#编程实现发送邮件的方法.分享给大家供大家参考,具体如下: using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Net.Mail; namespace WindowsFo

  • C#使用smtp发送带附件的邮件实现方法

    本文实例讲述了C#使用smtp发送带附件的邮件实现方法.可直接将string类型结果保存为附件.分享给大家供大家参考.具体分析如下: 该方式直接保存为HTML文件,也可以是文本文件,其它格式效果不是很好 复制代码 代码如下: MailMessage mmsg = new MailMessage(); mmsg.Subject = "邮件标题"; mmsg.Body = "邮件内容"; mmsg.To.Add("accept@qq.com");//

  • 使用C#编写简单的图形化的可发送附件的邮件客户端程序

    今天谈一下C#(WinForm)如何发送带附件的电子邮件!废话少说,先截图伺候: 首先C#发送邮件需要smtp服务的支持,我也不知道是不是C#只支持smtp协议,不过好像在MSDN里,Mail这个命名空间下只有介绍smtp的方法的,好像没看到POP的,算了,先不要说这个 我们暂时用smtp协议来做就好了!因此首先你要确保你的发件邮箱支持smtp服务,据我说知,雅虎邮箱,HotMail邮箱和GMail邮箱都不支持smtp的,不过没事,还好我们常用的QQ邮箱,163邮箱,新浪邮箱等邮箱都支持smtp

  • 使用C#发送带附件的电子邮件的方法的代码示例分析

    以下代码除了实现发送简单的邮件以外,还包括了发送附件.From图没有贴出,上面就两按钮,一个"添加附件".一个"发送".点击添加附件选择文件, 文件路径全存储在listbox1中.在发送按钮方法中,把listbox1所有的文件添加到mailmessage对象里作为邮件发送出去了,请看代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.

  • java中javamail发送带附件的邮件实现方法

    本文实例讲述了java中javamail发送带附件的邮件实现方法.分享给大家供大家参考.具体分析如下: JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口.它是Sun发布的用来处理email的API.它可以方便地执行一些常用的邮件传输,JavaMail是可选包,因此如果需要使用的话你需要首先从java官网上下载.目前最新版本是JavaMail1.5.0,下面我们来看看javamail发送带附件的邮件实例 mail.java 代码: 复制代码 代码如下: package mail;

  • Codeigniter实现发送带附件的邮件

    本文实例讲述了Codeigniter实现发送带附件的邮件的方法.分享给大家供大家参考.具体分析如下: attach() 方法允许你的发邮件时带上附件,下面是演示代码 复制代码 代码如下: $this->load->library('email'); $this->email->from('w3@w3mentor.com', 'W3M'); $this->email->subject('Email Test with attachment'); $this->ema

  • php实现的发送带附件邮件类实例

    本文实例讲述了php实现的发送带附件邮件类的方法,是一个非常实用的功能.分享给大家供大家参考.具体方法如下: emailclass.php类文件如下: <? class CMailFile { var $subject; var $addr_to; var $text_body; var $text_encoded; var $mime_headers; var $mime_boundary = "--==================_846811060==_"; var $

  • python SMTP实现发送带附件电子邮件

    本文实例为大家分享了python SMTP发送带附件电子邮件的具体代码,供大家参考,具体内容如下 可采用email模块发送电子邮件附件.发送一个未知MIME类型的文件附件其基本思路如下: 1. 构造MIMEMultipart对象做为根容器 2. 构造MIMEText对象做为邮件显示内容并附加到根容器 3. 构造MIMEBase对象做为文件附件内容并附加到根容器 a. 读入文件内容并格式化 b. 设置附件头 4. 设置根容器属性 5. 得到格式化后的完整文本 6. 用smtp发送邮件 具体内容参见

  • 用php发送带附件的Email

    参考了一下网上的文章.俗话说,天下文章一大抄,看你会抄不会抄.关键是能为我所用,这是最重要的.废话不多讲,let's go. 其实发mail很简单,php有现成的函数,可以参考php 的 manual,特别是第四个例子,讲的很详细. 关键是怎么把上传附件跟邮件发送结合起来.关于文件的上传,可以参考http://blog.csdn.net/slamdunk3/archive/2005/02/23/299025.aspx 这篇文章. 讲一下 文件上传的方法及其属性: 我们假设文件上传字段的名称如上例

  • 如何用ASP发送带附件的邮件?

    如何用ASP发送带附件的邮件?<% Option Explicit Dim objMail Set objMail = Server.CreateObject("CDONTS.NewMail") objMail.From = "liyanbing@163.net " objMail.Subject = "闪亮日子之星河影动" objMail.AttachFile("s:\flashdays\images\win.jpg"

  • 用vbs发送带附件的邮件

    function Send_mail(You_Account,You_Password,Send_Email,Send_Email2,Send_Topic,Send_Body,Send_Attachment)  'code by NetPatch 'VBS发送邮件参数说明 'You_Account:你的邮件帐号 'You_Password:你的邮件密码 'Send_Email: 主要邮件地址 'Send_Email2: 备用邮件地址 'Send_Topic: 邮件主题 'Send_Body:  

  • smtp发送带附件的邮件代码分享

    该方式直接保存为HTML文件,也可以是文本文件,其它格式效果不是很好 复制代码 代码如下: MailMessage mmsg = new MailMessage();     mmsg.Subject = "邮件标题";     mmsg.Body = "邮件内容";     mmsg.To.Add("accept@qq.com");//接收邮箱     byte[] bytes = System.Text.Encoding.Default.Ge

随机推荐