程序发送邮件,提示:请注意:此邮件非网易系统邮件,请不要轻易透...
大家好:我最近在做系统,要用到程序发送邮件(注册时候要发邮件验证)。
代码如下:
public static Boolean sendMail(string send_mail, string send_mailDisplay, string smtp_server,int smtp_port,string UserName, string PassWord, string title, string content, string[] receive_mail)
{
Boolean toReturn = false;
try
{
MailAddress from = new MailAddress(send_mail, send_mailDisplay); //邮件的发件人
MailMessage mail = new MailMessage();
//设置邮件的标题
mail.Subject = title;
//设置邮件的发件人
//Pass:如果不想显示自己的邮箱地址,这里可以填符合mail格式的任意名称,真正发mail的用户不在这里设定,这个仅仅只做显示用
mail.From = from;
mail.Headers.Add("X-Priority", "3");
mail.Headers.Add("X-MSMail-Priority", "Normal");
mail.Headers.Add("X-Mailer", "Microsoft Outlook Express 6.00.2900.2869");
mail.Headers.Add("X-MimeOLE", "Produced By Microsoft MimeOLE V6.00.2900.2869");
mail.Sender = from;
//设置邮件的收件人
foreach (string name in receive_mail)
{
string address = "";
string displayName = "";
if (name != string.Empty)
{
if (name.IndexOf('<') > 0)
{
displayName = name.Substring(0, name.IndexOf('<'));
address = name.Substring(name.IndexOf('<') + 1).Replace('>', ' ');
}
else
{
displayName = string.Empty;
address = name.Substring(name.IndexOf('<') + 1).Replace('>', ' ');
}
mail.To.Add(new MailAddress(address, displayName));
}
}
//设置邮件的抄送收件人
//这个就简单多了,如果不想快点下岗重要文件还是CC一份给领导比较好
//mail.CC.Add(new MailAddress("Manage@hotmail.com", "尊敬的领导"));
//设置邮件的内容
mail.Body = content;
//设置邮件的格式
mail.BodyEncoding = System.Text.Encoding.UTF8;
mail.IsBodyHtml = true;
//设置邮件的发送级别
mail.Priority = MailPriority.Normal;
//设置邮件的附件,将在客户端选择的附件先上传到服务器保存一个,然后加入到mail中
// string fileName = txtUpFile.PostedFile.FileName.Trim();
// fileName = @"D:\UpFile\" + fileName.Substring(fileName.LastIndexOf(@"\") + 1);
//txtUpFile.PostedFile.SaveAs(fileName); // 将文件保存至服务器
// mail.Attachments.Add(new Attachment(fileName));
mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnSuccess;
SmtpClient client = new SmtpClient();
//设置用于 SMTP 事务的主机的名称,填IP地址也可以了
client.Host = smtp_server;
//设置用于 SMTP 事务的端口,默认的是 25
client.Port = smtp_port;
client.UseDefaultCredentials = false;
//这里才是真正的邮箱登陆名和密码,比如我的邮箱地址是 hbgx@hotmail, 我的用户名为 hbgx ,我的密码是 xgbh
client.Credentials = new System.Net.NetworkCredential(UserName, PassWord);
client.DeliveryMethod = SmtpDeliveryMethod.Network;
//都定义完了,正式发送了,很是简单吧!
client.Send(mail);
toReturn = true;
}
catch
{
toReturn = false;
}
return toReturn;
}
问题来了!!!!!!!!!
可以发送成功!但是在但是通过网易邮箱web登录后,查看邮件时提示:
请注意:此邮件非网易系统邮件,请不要轻易透露个人重要信息,提高警惕,谨防网络欺诈,
这个是怎么回事呢?我用foxmail发送邮件是正常的,没有提示此信息啊。
这个小小的提示信息看着很扎眼,我也看了,像校内网,csdn等站点发送的系统邮件也是没有此提示的。
如何解决呢?? --------------------编程问答-------------------- 也许是你的邮件地址163认为和它的某个(些)系统地址相似吧? --------------------编程问答-------------------- 也许是你的邮件地址163认为和它的某个(些)系统地址相似吧?
我觉得不是这个原因,因为我用foxmail发送是正常的,不会提示这个信息。 --------------------编程问答-------------------- 删掉:
mail.Headers.Add("X-Priority", "3");
mail.Headers.Add("X-MSMail-Priority", "Normal");
mail.Headers.Add("X-Mailer", "Microsoft Outlook Express 6.00.2900.2869");
mail.Headers.Add("X-MimeOLE", "Produced By Microsoft MimeOLE V6.00.2900.2869");
client.DeliveryMethod = SmtpDeliveryMethod.Network;
mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnSuccess;
再试试..... --------------------编程问答-------------------- 网易检测的不是你的发送代码,而是发送内容,你发送的内容肯定有敏感内容,比如“恭喜”、“祝贺”等等信息,会被网易视为“中奖类诈骗邮件”,所以会给用户一个显著的提醒。 --------------------编程问答-------------------- 我在使用程序发送一段话
“恭喜您,您收到这封邮件,说明您在系统的配置参数正确!”
时,就总出这个东西,大家可以试试哦。 --------------------编程问答-------------------- 可能是你的发送邮箱地址和发送服务器地址不匹配
foxmail 其实是利用你邮箱系统发送的
要登录的 所以没问题
--------------------编程问答-------------------- 你是否指定了和你登陆SMTP账号不同的“发件人”地址,就会出这样的问题
其实是对方服务器识别的,最好的办法是SMTP账号和发件人一致 --------------------编程问答-------------------- 怎么大家还在争论呢,很明显的,你就算登录网易的web邮箱站点,使用网站给自己发信息“恭喜您,您收到这封邮件,说明您在系统的配置参数正确!”,(或者你使用其它的邮箱发送,比如qq的,yahoo的等等效果都一样),你都会收到那个提示的,原因就是你面含有敏感信息。
那条提示后面是有个链接的,点击进去就是网易关于防诈骗邮件的说明。
邮件地址和头信息都不是关键,就是内容,这是网易关于芳诈骗邮件的“温馨提示”,只是过滤的太严了一点。
楼主要发的是注册成功邮件,我才里面肯定是包含了所谓的敏感信息。
补充:.NET技术 , C#