日期:2014-05-18  浏览次数:20616 次

谁有asp.net 2.0 c#下能稳定发送邮件代码,请分享下,谢谢
谁有asp.net   2.0   c#下能稳定发送邮件代码,请分享下,谢谢

------解决方案--------------------
jmail 4.4 pro

具体代码网上多的是
------解决方案--------------------
/*****************************************/
/* Project name: MailDaemon */
/* Module name: Mail Sender */
/* Author: Ming Yeh */
/* Created date: 2006-08-21 */
/* Last modified by: */
/* Last modify date: */
/* .-._ */
/* {_}^ )o */
/* {\________//~` */
/* ( ) */
/* /||~~~~~||\ */
/* |_\\_ \\_\_ */
/* */
/*****************************************/
using System;
using System.Collections.Generic;
using System.Net;
using System.Net.Mail;
using System.Text;

namespace mailDaemon
{
class MailSender
{
private const string SERVER_IP = "61.181.255.80 ";
private const string SENDER_EMAIL = "mailist@gaosulu.com ";
private const string USERNAME = "mailist ";
private const string PASSWORD = "bu2kwh1at ";
private const string SUBJECT = "高速路商机速递 ";
string _server;
string _senderEmail;
string _username;
string _password;
static bool mailSent = false;

public MailSender(string server, string senderEmail, string username, string password)
{
_server = server;
_senderEmail = senderEmail;
_username = username;
_password = password;
}
public MailSender():this(SERVER_IP, SENDER_EMAIL, USERNAME, PASSWORD)
{

}
public void SendMail(string email, string content)
{
MailMessage msg = new MailMessage(_senderEmail, email, SUBJECT, content);
msg.BodyEncoding = Encoding.UTF8;
msg.Priority = MailPriority.High;
msg.IsBodyHtml = true;
SmtpClient client = new SmtpClient(_server);
NetworkCredential credential = new NetworkCredential(_username, _password);
client.UseDefaultCredentials = false;
client.Credentials = credential;
client.SendCompleted += new SendCompletedEventHandler(client_SendCompleted);
client.SendAsync(msg, "Message Sent. ");
Console.WriteLine(email + "邮件发送中,按C取消发送 ");
//string answer = Console.ReadLine();
//if (answer.StartsWith( "c ") && mailSent == false)
//{
// client.SendAsyncCancel();
//}
Console.WriteLine(email + "处理完成 ");
}

void client_SendCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
{
String token = (string)e.UserState;

if (e.Cancelled)
{
Console.WriteLine( "[{0}] Send canceled. ", token);
}
if (e.Error != null)
{
Console.WriteLine( "[{0}] {1} ", token, e.Error.ToString());
}
else
{