STMP发送邮件被当垃圾邮件处理的解决方法
昨天使用了.Net通过smtp发送邮件的方式发送了一封邮件到自己的QQ邮箱,但是发送成功后并没有提示邮箱收到新的邮件,而且去收件箱里面也没有新增的邮件。
这让本人觉得奇怪,所以就觉得是否被当作垃圾邮件过滤了,所以就点击垃圾箱看看,果真如此,QQ邮箱过滤了,当作垃圾邮件处理。
所以马上在网上找了一下,终于找到了方法了。
问题所在:
对方邮箱服务器判断:对于来历不明的软件发的邮件,邮箱服务器都可能认为是垃圾邮件,直接把它过滤掉,这是邮件接收方的过滤条件,我们无法改变的事实。
解决方法:
1.要使用自定义验证机制的system.net.mail类发送。不要用system.web.mail类发送,通常后者发送的邮件都会被当垃圾邮件,这是跟验证机制和有关。
2.要声明邮件地址和头信息(msg.Headers.Add("X-Mailer", "Microsoft Outlook Express 6.00.2900.2869"); 披上outlook的马甲)
3.特殊情况,就是可能有些服务器在你已经披上合法的马甲后还是会当作垃圾邮箱处理,如网易,那是因为你的邮件内容可能存在一些,敏感的字眼,或者违法的信息导致的。
发送邮件的代码:
/// <summary>
/// 发送邮件
/// </summary>
/// <param name="Subject">主题</param>
/// <param name="Body">邮件内容</param>
/// <param name="To">对方邮箱</param>
/// <param name="MailFrom">发件人</param>
/// <param name="MailFromName">邮件显示发送人的名称</param>
/// <param name="MailDomain">服务器地址</param>
/// <param name="MailServerUserName">用户名和密码</param>
/// <param name="MailServerPassWord">密码</param>
/// <returns></returns>
public bool Send(string Subject, string Body, string To, string MailFrom, string MailFromName, string MailDomain, string MailServerUserName, string MailServerPassWord)
{ try
{
MailMessage msg = new MailMessage();
msg.From = new MailAddress(MailFrom, MailFromName);
msg.To.Add(new MailAddress(To, To));
msg.Subject = Subject;
msg.Body = Body;
msg.IsBodyHtml = true;
msg.Priority = MailPriority.Normal;
msg.SubjectEncoding = System.Text.Encoding.UTF8;
msg.BodyEncoding = System.Text.Encoding.UTF8;
//不被当作垃圾邮件的关键代码--Begin
msg.Headers.Add("X-Priority", "3");
msg.Headers.Add("X-MSMail-Priority", "Normal");
msg.Headers.Add("X-Mailer", "Microsoft Outlook Express 6.00.2900.2869"); //本文以outlook名义发送邮件,不会被当作垃圾邮件
msg.Headers.Add("X-MimeOLE", "Produced By Microsoft MimeOLE V6.00.2900.2869");
msg.Headers.Add("ReturnReceipt", "1");
//不被当作垃圾邮件的关键代码--End
SmtpClient client = new SmtpClient(MailDomain);
client.UseDefaultCredentials = false;
client.Credentials = new NetworkCredential(MailServerUserName, MailServerPassWord); //帐号密码
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.Send(msg);
return true;
}
catch { return false; }
}
然后再试着发一封邮件到QQ邮箱,到126邮箱都可以接收。
STMP发送邮件被当垃圾邮件处理的解决方法的更多相关文章
- C# 自动发送邮件被系统当做垃圾邮件退回的处理方法
前两天做了一个发送邮件的定时任务.其功能为在每天的某一时刻,系统自动从银行查询前一天的交易明细到本地服务器,解析后生成为各自不同Excel文件,并打包成zip压缩文件,然后抄送附件给财务对账.其中,邮 ...
- Postfix上的反垃圾邮件的四个方法
在介绍如何配置Postfix的smtp配置之前有必要首先介绍一下它的背景和特点.Postfix是一个由IBM资助下由WietseVenema 负责开发的自由软件工程的一个产物,其目的是为用户提供除se ...
- 发送邮件时Unable to relay错误的解决方法 转
使用python的smtplib发送邮件,使用新浪的smtp服务,在本地测试正常.但把程序部署到服务器后,却连不上新浪的smtp服务器,可以ping通,但telnet 25端口失败,导致程序无法正常运 ...
- wordpress防止垃圾邮件的另一种方法
我们知道wordpress可以用Akismet插件防止垃圾邮件,前面ytkah还讲过contact form 7如何搭配Akismet过滤垃圾邮件,还有什么方法呢?我们留在网站上的邮箱有可能被爬虫批量 ...
- 基于C#的机器学习--垃圾邮件过滤
在这一章,我们将建立一个垃圾邮件过滤分类模型.我们将使用一个包含垃圾邮件和非垃圾邮件的原始电子邮件数据集,并使用它来训练我们的ML模型.我们将开始遵循上一章讨论的开发ML模型的步骤.这将帮助我们理解工 ...
- app里使用163邮箱发送邮件,被163认为是垃圾邮件的坑爹经历!_ !
最近有个项目,要发邮件给用户设定的邮箱报警,然后就用了163邮箱,代码是网上借来的^^,如下: package com.smartdoorbell.util; import android.os.As ...
- postfix反垃圾邮件说明
参考地址:http://guailele.blog.51cto.com/1156442/780223 1.打开 smtp 的认证模块 在/etc/postfix/main.cf文件最后加上: sm ...
- postfix疯狂外发垃圾邮件
分析 一.查找main.cf配置文件 localhost# find / -name main.cf /etc/postfix/main.cf 二.打开/etc/postfix/main.cf来看看. ...
- linux 安装wordpress 无故往外发送大量垃圾邮件
linux 安装wordpress 无故往外发送大量垃圾邮件 始末 表现出来的现象就是, 网站运行没多久,mysql服务就挂了,重启也无法启动起来,提示 No such file or dicrion ...
随机推荐
- react-native学习笔记——ViewStack组件
今天来写一个组件,相信很多人都会用到的——ViewStack. ViewStack组件无疑是UI中很重要的一个组件,可惜react-native并没有内嵌进去,需要开发者自己去实现. 实现原理很简单, ...
- UVA 10003 Cutting Sticks 切木棍 dp
题意:把一根木棍按给定的n个点切下去,每次切的花费为切的那段木棍的长度,求最小花费. 这题出在dp入门这边,但是我看完题后有强烈的既是感,这不是以前做过的石子合并的题目变形吗? 题目其实就是把n+1根 ...
- #include <QPushButton>
类QPushButton 命令按钮 #include "mainwindow.h" #include <QApplication> int main(int argc, ...
- Redis短结构与分片
本文将介绍两种降低Redis内存占用的方法——使用短结构存储数据和对数据进行分片. 降低Redis内存占用有助于减少创建快照和加载快照所需的时间.提升载入AOF文件和重写AOF文件时的效率.缩短从服务 ...
- 利用ItextPdf、core-renderer-R8 来生成PDF
近期因为工作上的须要,须要做一个简历产品的下载功能,而下载的形式要去为PDF,内容要求为整个简历的内容,并且格式上要求和简历的格式排版时一致的!前期调研.开发,最后測试上线.差点儿相同花了7天的时间. ...
- 【jQueryMobile】Helloworld而页面切换
jQuery Mobile它是jQuery 在手机和平板设备的版本号. jQuery Mobile 它不仅会带来重大的移动平台jQuery核心库,而且会发布一个完整统一jQuery搬家UI相框.全球主 ...
- sql中int字段实现百分比
首先: 用col*1.00 把int字段隐式转换成decimal类型. 然后: 用 round(col,2)来截取前两个小数前的数据 最后: 用 CONVERT(FLOAT,decimalNum)来转 ...
- 【Sharepoint】CSS与Master Page的开发与部署
一.CSS的开发与部署相对比较简单,先是要上传CSS文件到样式库中,然后在页面模板中将上传的自定义CSS样式文件设置为所有文件的默认css文件.下面详细的介绍CSS文件的开发与部署过程. 1.编写自定 ...
- EF 6.0使用小计
---恢复内容开始--- 最近尝试了下EF Extended,但是居然需要EF6.0以上,没办法,只能安装了,打开解决方案,选择库程序包管理下的程序包管理控制台(或者直接右击你需要使用扩展的解决方案选 ...
- JS函数作用域及作用域链理解
从事web开发工作,尤其主要是做服务器端开发的,难免会对客户端语言JavaScript一些概念有些似懂非懂的,甚至仅停留在实现功能的层面上,接下来的文章,是记录我对JavaScript的一些概念的理解 ...