zoukankan      html  css  js  c++  java
  • 麻辣的邮件发送

    麻辣隔壁。

    直接使用smtp.163.com来进行邮件发送,限制多如牛毛,一不小心,甚至莫名其妙就被所谓的反垃圾机制所阻挡,邮件根本发不出去!或者有时候,发网易可以,但QQ就不行。

    那么,改用smtp.qq.com可以吗?衰多两钱重,还要填个什么狗屁授权码。连服务器都连不上。

    测试名称:   SendTestQQ
    测试结果:   未通过
    结果 的消息: Assert.AreEqual 失败。应为: <True>,实际为: <False>。
    结果 的标准输出:   命令顺序不正确。 服务器响应为:Error: need EHLO and AUTH first !

    网上搜了下,对QQ邮箱骂声一片,不愧为垃圾中的战斗机。

    试来试去,使用163,有时能发出一些,有时又不行;有时刚可以,下一条又不行,真操蛋。将那几行代码都改爆了。

    public bool Send(EmailParam param)
    {
        MailMessage mail = new MailMessage();
    
        mail.From = new MailAddress(from);
        getCollection(mail.To,param.To);
        getCollection(mail.CC, param.CC);
        mail.SubjectEncoding = Encoding.UTF8;
        mail.Subject = param.Subject;
        mail.BodyEncoding = Encoding.UTF8;
        mail.Body = param.Body;
        mail.Priority = MailPriority.Normal;
        mail.IsBodyHtml = true;
        mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
    
        //不被当作垃圾邮件的关键代码--Begin
        mail.Headers.Add("X-GUID", Guid.NewGuid().ToString());
        mail.Headers.Add("X-Mailer", "Foxmail 7, 2, 7, 174[cn]");//伪装自己是foxmail
        //不被当作垃圾邮件的关键代码--End
        //狗屁,根本不管用!
    
        try
        {
            client.Send(mail);
        }
        catch(Exception ex)
        {
            Mess = ex.Message;
            return false;
        }
    
        return true;
    }

    分析邮件头,都表明是本地发出去的:

    Received: from chenqu2 (unknown [219.136.75.199])
        by smtp9 (Coremail) with SMTP id DcCowAAn6OR6bHhYpcL1Fg--.12030S2;
        Fri, 13 Jan 2017 13:58:19 +0800 (CST)
    ……
    X-Coremail-Antispam: 1Uf129KBjvdXoWrZF47tF15Cr15AF47Gw1fCrg_yoW3AFXEgr
        17WrW0gws7Kwn09FyxZFy7A3WqgFsrCr48Ar1qqr13trW3Xrn8Xa47XFWxAw1a9rnxJFy5
        Aw15Cwn2vw1IgjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT
        9fnUUvcSsGvfC2KfnxnUUI43ZEXa7IUYDKItUUUUU==
    X-Originating-IP: [219.136.75.199]

    这里还有个反垃圾代码签名,X-Coremail-Antispam,估计是SMTP服务器自己加上去的,自己不能干预。

    一妓不成,我又生一妓。我重操故妓,采用生成邮件文件,扔给WINDOWS自带SMTP的方式。结果今时不同往日,还是发不出去。有些侥幸发到163的,直接进了垃圾箱。

    看来,想用本机来直接连人家的SMTP服务器进行邮件发送,这条路子走不通,限制太多了。想想也是,你免费用人家的服务器发东西,万一真发垃圾邮件咋办?可是,难道就不能进行邮件数量限制吗?或者,你推出一些收费产品,可以提交发送成功率,限制没那么多的?也没有发现类似产品。

    个中痛苦,见《邮件:事务失败。 服务器响应为:DT:SPM 163 smtp

    看网上有人说有个sendcloud,相当于一个代发中介,我试了下,好像可以。为啥网易就不搞个类似的东东呢。

  • 相关阅读:
    用Jenkins构建项目实战
    在Windows上安装和配置Jenkins
    java用XSSFWorkbook实现读写Excel
    Properties类操作.properties配置文件方法总结
    java读取配置文件的推荐方法getResource、getResourceAsStream
    PerformanceRunner (性能测试工具) V1.1.4.1 新版本已发布!
    抢先知!MobileRunner(app测试工具)V2.1.2新版本
    号外号外!自动化测试工具AutoRunner V4.2 新版本升级预告!
    泽众自动化测试框架AutoTestFramework产品即将首发!
    泽众自动化测试框架AutoTestFramework产品功能预览
  • 原文地址:https://www.cnblogs.com/leftfist/p/6808669.html
Copyright © 2011-2022 走看看