C#通过常用邮箱发送Email邮件
2011-11-22 13:42
344 查看
using System;
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 EmailTest
{
public partial class MsEmail : Form
{
private SmtpClient smtpClient = new SmtpClient();
public MsEmail()
{
InitializeComponent();
combEmailServer.SelectedIndex = 0;
}
/// <summary>
/// 邮件发送测试
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnSend_Click(object sender, EventArgs e)
{
MailMessage message = new MailMessage();
try
{
MailAddress fromAddress = new MailAddress("发送方邮箱地址");
message.From = fromAddress;
message.Subject = "报警邮件";
message.To.Add("目的方邮箱地址");
message.Body = "测试邮件";
if (combEmailServer.Text == "HOTMAIL")
{
smtpClient.Host = "smtp.live.com";
smtpClient.EnableSsl = true;
smtpClient.UseDefaultCredentials = true;
}
else if (combEmailServer.Text == "GMAIL")
{
smtpClient.Host = "smtp.gmail.com";
smtpClient.Port = 587;
smtpClient.EnableSsl = true;
smtpClient.UseDefaultCredentials = true;
}
else if (combEmailServer.Text == "QQ邮箱")
{
smtpClient.Host = "smtp.qq.com";
smtpClient.Port = 25;
smtpClient.EnableSsl = false;
smtpClient.UseDefaultCredentials = true;
}
else if (combEmailServer.Text == "163邮箱")
{
smtpClient.Host = "smtp.163.com";
smtpClient.EnableSsl = false;
smtpClient.UseDefaultCredentials = true;
}
else if (combEmailServer.Text == "新浪邮箱")
{
smtpClient.Host = "smtp.sina.com";
smtpClient.EnableSsl = false;
smtpClient.UseDefaultCredentials = true;
}
smtpClient.Credentials = new System.Net.NetworkCredential("发送方邮箱地址", "发送方邮箱密码");
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpClient.SendCompleted += new SendCompletedEventHandler(smtpClient_SendCompleted);
smtpClient.SendAsync(message, combEmailServer.Text);
}
catch (Exception exm)
{
MessageBox.Show(exm.Message.ToString());
}
}
/// <summary>
/// 异步发送完毕事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void smtpClient_SendCompleted(object sender, AsyncCompletedEventArgs e)
{
String strEmailServer = (string)e.UserState;
if (e.Error != null)
{
MessageBox.Show(strEmailServer + "配置失败");
}
else
{
MessageBox.Show("发送成功");
}
}
}
}
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 EmailTest
{
public partial class MsEmail : Form
{
private SmtpClient smtpClient = new SmtpClient();
public MsEmail()
{
InitializeComponent();
combEmailServer.SelectedIndex = 0;
}
/// <summary>
/// 邮件发送测试
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnSend_Click(object sender, EventArgs e)
{
MailMessage message = new MailMessage();
try
{
MailAddress fromAddress = new MailAddress("发送方邮箱地址");
message.From = fromAddress;
message.Subject = "报警邮件";
message.To.Add("目的方邮箱地址");
message.Body = "测试邮件";
if (combEmailServer.Text == "HOTMAIL")
{
smtpClient.Host = "smtp.live.com";
smtpClient.EnableSsl = true;
smtpClient.UseDefaultCredentials = true;
}
else if (combEmailServer.Text == "GMAIL")
{
smtpClient.Host = "smtp.gmail.com";
smtpClient.Port = 587;
smtpClient.EnableSsl = true;
smtpClient.UseDefaultCredentials = true;
}
else if (combEmailServer.Text == "QQ邮箱")
{
smtpClient.Host = "smtp.qq.com";
smtpClient.Port = 25;
smtpClient.EnableSsl = false;
smtpClient.UseDefaultCredentials = true;
}
else if (combEmailServer.Text == "163邮箱")
{
smtpClient.Host = "smtp.163.com";
smtpClient.EnableSsl = false;
smtpClient.UseDefaultCredentials = true;
}
else if (combEmailServer.Text == "新浪邮箱")
{
smtpClient.Host = "smtp.sina.com";
smtpClient.EnableSsl = false;
smtpClient.UseDefaultCredentials = true;
}
smtpClient.Credentials = new System.Net.NetworkCredential("发送方邮箱地址", "发送方邮箱密码");
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpClient.SendCompleted += new SendCompletedEventHandler(smtpClient_SendCompleted);
smtpClient.SendAsync(message, combEmailServer.Text);
}
catch (Exception exm)
{
MessageBox.Show(exm.Message.ToString());
}
}
/// <summary>
/// 异步发送完毕事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void smtpClient_SendCompleted(object sender, AsyncCompletedEventArgs e)
{
String strEmailServer = (string)e.UserState;
if (e.Error != null)
{
MessageBox.Show(strEmailServer + "配置失败");
}
else
{
MessageBox.Show("发送成功");
}
}
}
}
相关文章推荐
- 使用CakePHP自带Email组件通过gmail发送邮件
- php通过SMTP第三方邮箱发送邮件
- AIX sendmail 通过其他邮箱发送邮件
- 自定义脚本通过SMTP邮箱发送邮件
- Godaddy邮箱C#发送邮件设置
- c#编程指南(八) 异步C#通过GMAIL发送邮件
- [转帖]C#发送Email邮件方法总结
- 通过SQL发送邮件,SQL发送Email(转)
- 通过C#发送自定义的html格式邮件
- linux下通过配置mailx和第三方邮箱 发送邮件
- C#发送邮件时提示:“不允许使用邮箱名称。服务器响应为:”的错误解决办法
- C#发送Email邮件方法总结
- C#中利用Lotus notes公共邮箱发送邮件的方法
- C#邮件发送(最坑爹的邮箱-QQ邮箱)---转发(SmallFlyElephant)
- 通过本地IIS SMTP服务器发送邮件时提示“邮箱不可用”的解决办法
- C# 通过exchange发送邮件 defaultuser and use username_password
- C#发送Email邮件三种方法的总结
- 已使用 163 邮箱测试通过,且支持 SSL 连接。 发送邮件
- C# 如何通过mailto标签和SMTP协议两种方式发送邮件
- 通过C#发送自定义的html格式邮件