protected void but_dinyue_sendmail_Click(object sender, EventArgs e)
{
bind();
} private void sendMail(MailMessage mail)
{
SmtpClient smtpClient = new SmtpClient();
smtpClient.EnableSsl = true;
smtpClient.Host ="localhost";
smtpClient.Port = 465; //这个也是网上的代码
smtpClient.Credentials = new NetworkCredential("",""); //这里不知道要填什么
try
{
smtpClient.Send(mail);
Response.Write("<script>alert('ok!');</script>");
}
catch (Exception ex)
{
Response.Write("<script>alert('"+ex.Message+"');</script>");
}
} public void bind()
{
MailMessage mailMessage = new MailMessage(); mailMessage.From = new MailAddress("[email protected]");
mailMessage.IsBodyHtml = true;
mailMessage.To.Add("[email protected]");
mailMessage.Subject = "测试发邮件";
mailMessage.Body = "测试发邮件";
sendMail(mailMessage);
} 老是报“发送失败” Response.Write("<script>alert('"+ex.Message+"');</script>"); 就是这句话里报出来的。我调试已经执行到smtpClient.Send(mail);
有哪个高手帮帮忙! 实在是无解 第一次做发邮件
smtpClient.Host ="localhost"; 但是你确认你在本机有smtp server吗?
smtpClient.Port = 465; //这个是邮件服务的端口号
smtpClient.Credentials = new NetworkCredential("",""); //添你的服务器用户名和密码
有个很好笑的规避办法,HOTMAIL的在内容里加HTTP://WWW。HOTMAIL。COM
YAHOO的在标题上加AD
SMTP 服务器要求安全连接或客户端未通过身份验证。 服务器响应为: 5.5.1 Authentication Required. Learn more at
public void SendMailUseZj()
{
System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();
msg.To.Add("[email protected]");
msg.To.Add("[email protected]");
msg.From = new MailAddress("[email protected]", "AlphaWu", System.Text.Encoding.UTF8);
/* 上面3个参数分别是发件人地址(可以随便写),发件人姓名,编码*/
msg.Subject = "这是测试邮件";//邮件标题
msg.SubjectEncoding = System.Text.Encoding.UTF8;//邮件标题编码
msg.Body = "邮件内容";//邮件内容
msg.BodyEncoding = System.Text.Encoding.UTF8;//邮件内容编码
msg.IsBodyHtml = false;//是否是HTML邮件
msg.Priority = MailPriority.High;//邮件优先级 SmtpClient client = new SmtpClient();
client.Credentials = new System.Net.NetworkCredential("[email protected]", "yjja");
//在zj.com注册的邮箱和密码
client.Host = "smtp.zj.com";
object userState = msg;
try
{
client.SendAsync(msg, userState);
//简单一点儿可以client.Send(msg);
Response.Write("<script>alert('aa');</script>");
}
catch (System.Net.Mail.SmtpException ex)
{
Response.Write("<script>alert('" + ex.Message + "');</script>");
}
}
还是报“发送失败”
{
string message = "Hi,Let's go for a picnic!";
MailMessage mail = new MailMessage("[email protected]", "[email protected]", "Invite you", message);
mail.Attachments.Add(new Attachment(@"D:\桌面\receive\2.jpg", MediaTypeNames.Image.Jpeg));
SmtpClient smtp = new SmtpClient("smtp.163.com");
smtp.Credentials = new NetworkCredential("[email protected]", "密码");
smtp.SendCompleted += new SendCompletedEventHandler(smtp_SendCompleted);
smtp.SendAsync(mail, null);
Console.WriteLine("正在发送");
Console.ReadKey();
} static void smtp_SendCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
{
if (e.Cancelled)
Console.WriteLine("cancelled");
else if (e.Error != null)
Console.WriteLine(e.Error.Message);
else
Console.WriteLine("发送完成");
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net; //【发送邮件需要的命名空间】
using System.Net.Mail;
namespace SendMail
{
public static class Mail
{
public static bool SendMail(string FromMail, string MailPassWord, string SmtpServer, string ToMail, string Subject, string Content, string AddFile)
{
try
{
SmtpClient ObjSmtpClient = new SmtpClient();
ObjSmtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//【邮件的发送方式】
ObjSmtpClient.Host=SmtpServer; //【邮箱服务器】
ObjSmtpClient.Credentials = new NetworkCredential(FromMail, MailPassWord);//【发送者身份验证】
MailMessage ObjMail = new MailMessage(FromMail, ToMail);//【邮件内容】
ObjMail.Subject = Subject;//【邮件的主题】
ObjMail.Body = Content;//【邮件的内容】
//【邮件的附件】
if (AddFile!= "")
{
Attachment ObjAttachment = new Attachment(AddFile);
ObjMail.Attachments.Add(ObjAttachment);
}
//【发送邮件】
ObjSmtpClient.Send(ObjMail);
return true;
}
catch
{
return false;
} }
}
}
from:http://497785609.qzone.qq.com/
using System.Net; //如果当前发送的邮件附件为空则传个空参数过去
//string[] mailfilePath={};public static bool SendNetMail(string mailFrom,string mailTo,string mailPassWord,string mailSubject,string mailBody,string[] mailfilePath)
{
//创建邮件
//参数说明:
//mailFrom :发送邮件地址
//mailTo:接收邮件地址
//mailPassWord:发送邮件的邮箱密码
//mailSubject:邮件主题
//mailBody:邮件内容
//mailfilePath:邮件附件的路径集合,主要考虑到有时会发送多个附件的情况。
System.Net.Mail.MailMessage newMail = new System.Net.Mail.MailMessage(mailFrom, mailTo, mailSubject, mailBody);
newMail.IsBodyHtml = true;
newMail.Priority = System.Net.Mail.MailPriority.High;//邮件发送优先级高
//创建邮件附件
string[] file = mailfilePath;
if(file.Length!=0) //判断当前附件集合是否为空如果不为空则将其添加到附件集合中
{
FileInfo fi;
foreach (string filePath in file)
{
if (filePath != "")
{
fi = new FileInfo(filePath);
if (fi.Exists)
{
System.Net.Mail.Attachment newAttachment = new System.Net.Mail.Attachment(filePath, System.Net.Mime.MediaTypeNames.Application.Octet);
System.Net.Mime.ContentDisposition dispostion = newAttachment.ContentDisposition;
dispostion.CreationDate = System.IO.File.GetCreationTime(filePath);
dispostion.ModificationDate = System.IO.File.GetLastWriteTime(filePath);
dispostion.ReadDate = System.IO.File.GetLastAccessTime(filePath);
newMail.Attachments.Add(newAttachment);
}
}
}
}
//发送邮件
string[] mailSmtp = Regex.Split(mailFrom, "@", RegexOptions.IgnoreCase);
System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient(mailSmtp[1].Insert(0, "smtp."), 25);
client.Credentials = new System.Net.NetworkCredential(mailSmtp[0], mailPassWord);
try
{
client.Send(newMail);
return true;
}
catch
{
return false;
}
}
//以下代码可直接run
System.Net.Mail.MailMessage mailobj = new System.Net.Mail.MailMessage();
mailobj.From = new MailAddress("***","***");
mailobj.To.Add("***");
mailobj.Subject = "test";
mailobj.Body = "test";
mailobj.IsBodyHtml = true;
mailobj.BodyEncoding = System.Text.UnicodeEncoding.UTF8;
mailobj.Priority = MailPriority.High; SmtpClient smtp = new SmtpClient("smtp.163.com");
smtp.UseDefaultCredentials = false;
smtp.Credentials = new NetworkCredential("***", "***");
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.Send(mailobj);