public void sendMail() { MailAddress from = new MailAddress("[email protected]"); MailAddress to = new MailAddress("[email protected]"); MailMessage message = new MailMessage(from, to); message.Subject = "测试邮件"; message.Body = “测试内容”; SmtpClient client = new SmtpClient(“192.168.0.10”); client.Credentials = new NetworkCredential("wtxiong", "123456"); client.Send(message); }错误信息:“Exception Details: System.Net.Mail.SmtpFailedRecipientException: Mailbox unavailable. The server response was: 5.7.1 <[email protected]>... Relaying denied. IP name lookup failed [192.168.0.184]“
这不很明显地在写着么...
public void sendmail()
{
string MailServer = "mail.yipin.cc"; //您的smtp服务器的IP或域名
string MailUser = "[email protected]"; //您的邮箱用户名
string MailPass = "8118252"; //您的密码
int MailPort = 25; //smtp服务器的端口,一般是 25 string MailFromName = "李敏";
OpenSmtp.Mail.Smtp oSmtp = new OpenSmtp.Mail.Smtp(MailServer,MailUser,MailPass,MailPort);
//建立信息对象
OpenSmtp.Mail.MailMessage msg = new OpenSmtp.Mail.MailMessage();
//定义body路径
string path=Server.MapPath("/chengxs/e-mail.html");
//定义附件路径
string path1=Server.MapPath("/chengxs/一.html");
//指定发信人
msg.From = new OpenSmtp.Mail.EmailAddress(MailUser,MailFromName );
//添加收件人
msg.AddRecipient("[email protected]", OpenSmtp.Mail.AddressType.To);
//设置邮件正文,并指定格式为 html 格式
msg.GetHtmlBodyFromFile(path);
//msg.HtmlBody="你好吗?";
//添加附件
msg.AddAttachment(path1);
//设置邮件标题
msg.Subject = "你好";
//指定邮件正文的编码
msg.Charset = "gb2312";
//发送邮件
oSmtp.SendMail(msg);
}
但是有另外一个问题,邮件发到gmail,却到垃圾文件夹里面去了。
查到网上有人这么写的:当你发送一封电子邮件时,邮件的头部信息全部是以小写字母形式添加的。然而,在针对SMTP邮件RFC的规范中并没有指定邮件头部应该怎样大写;但是,许多垃圾邮件过滤程序却限制了头部没有正确大写的电子邮件消息。
有谁碰到过?有解决方法没?
{ MailMessage mail = new MailMessage(From.Text, To.Text); //收信人可以为多个,即to可以面向对个收信人 mail.Subject = Subject.Text.ToString().Trim();
mail.Body = Content.Text.ToString().Trim(); //mail.CC = "[email protected];[email protected]"; //设置副本收件人 // Attachment attachment = new Attachment("C://ReadMe.Txt"); //添加邮箱附件,里面是附件的本地目录
// mail.Attachments.Add(attachment);
// mail.Priority = MailPriority.High; //设置发送优先级
SmtpClient smtp = new SmtpClient("smtp.163.com");
smtp.Credentials = new temp();
smtp.Send(mail);
Response.Write("邮件已发送!");
} internal class temp : ICredentialsByHost
{
#region ICredentialsByHost 成员 public NetworkCredential GetCredential(string host, int port, string authenticationType)
{
return new NetworkCredential("liaowei0", "43091119830412");
// return new NetworkCredential("ustbwuyi666", "43012119830607");
} #endregion
}