当前位置:编程学习 > C#/ASP.NET >>

程序发送邮件,提示:请注意:此邮件非网易系统邮件,请不要轻易透...

大家好:
我最近在做系统,要用到程序发送邮件(注册时候要发邮件验证)。
代码如下:
   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#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,