好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

C# 邮件发送

C# 邮件发送

我直接上图 上代码吧。

代码:

 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;
using System.Net.Mail;
using System.Net.Mime;
using System.IO;

namespace SendMailExample
{
/// <summary>
/// 作者:Andrew
/// Blog: http://blog.csdn.net/Andrew_wx
/// </summary>
public partial class FormSendMail : Form
{
public FormSendMail()
{
InitializeComponent();
}

private void FormSendMail_Load( object sender, EventArgs e)
{
txtSmtpServer.Text = " smtp.qq.com " ;
txtSend.Text = " heuandmei@qq.com " ;
txtDisplayName.Text = " Andrew(王旭) " ;
txtPassword.Text = "" ; // 密码
txtReceive.Text = " heuandmei@qq.com " ;
txtTitle.Text = " 发信测试 " ;
txtBody.Text = " This is a test(测试) " ;
rbtnNoSSL.Checked = true ;
}

private void btnAddFiles_Click( object sender, EventArgs e)
{
OpenFileDialog odlg = new OpenFileDialog();
odlg.CheckFileExists = true ;
// 只接收有效的文件名
odlg.ValidateNames = true ;
// 允许一次选择多个文件作为附件
odlg.Multiselect = true ;
if (odlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
lstFiles.Items.AddRange(odlg.FileNames);
}

}

private void btnSend_Click( object sender, EventArgs e)
{
this .Cursor = Cursors.WaitCursor;
MailMessage mail = new MailMessage();
mail.From = new MailAddress(
txtSend.Text, txtDisplayName.Text, Encoding.UTF8);
mail.To.Add(txtReceive.Text);
mail.Subject = txtTitle.Text;
mail.SubjectEncoding = Encoding.Default;
mail.Body = txtBody.Text;
mail.BodyEncoding = Encoding.Default;
mail.IsBodyHtml = false ;
mail.Priority = MailPriority.Normal;
// 添加附件
Attachment attachment = null ;
if (lstFiles.Items.Count > 0 )
{
for ( int i = 0 ; i < lstFiles.Items.Count; i++)
{
string pathFileName = lstFiles.Items[i].ToString();
string extName = Path.GetExtension(pathFileName).ToLower();
// 判断附件类型
if (extName == " .rar " || extName == " .zip " )
{
attachment = new Attachment(pathFileName, MediaTypeNames.Application.Zip);
}
else
{
attachment = new Attachment(pathFileName, MediaTypeNames.Application.Octet);
}
ContentDisposition cd = attachment.ContentDisposition;
cd.CreationDate = File.GetCreationTime(pathFileName);
cd.ModificationDate = File.GetLastWriteTime(pathFileName);
cd.ReadDate = File.GetLastAccessTime(pathFileName);
mail.Attachments.Add(attachment);

}
}
SmtpClient client = new SmtpClient();
client.Host = txtSmtpServer.Text;
client.Port = 25 ;
// 是否使用安全套接字层加密连接
client.EnableSsl = rbtnUseSSL.Checked;
// 不使用默认凭证,注意此句必须放在 client.Credentials 的上面
client.UseDefaultCredentials = false ;
client.Credentials = new NetworkCredential(txtSend.Text, txtPassword.Text);
// 邮件通过网络直接发送到服务器
client.DeliveryMethod = SmtpDeliveryMethod.Network;
try
{
client.Send(mail);
MessageBox.Show( " 发送成功 " );
}
catch (SmtpException ex)
{
MessageBox.Show( " 发送失败: " + ex.Message);
}
catch (Exception ex)
{
MessageBox.Show( " 发送失败: " + ex.Message);
}
finally
{
mail.Dispose();
client = null ;
this .Cursor = Cursors.Default;
}
}
}
}

以上是完整代码。

项目包下载地址: https://files.cnblogs.com/andrew-blog/SendMailExample.rar

作者: Leo_wl

    

出处: http://www.cnblogs.com/Leo_wl/

    

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

版权信息

查看更多关于C# 邮件发送的详细内容...

  阅读:32次