• 【项目实施随笔】发个邮件可真困难


    用户想在某个动作之后给相关人员发个邮件提醒,由于他们使用的发邮件的东西都不一样,有的用Outlook,有的用OutlookExpress,还有的是FoxMail的忠实用户,所以干脆用SysMailer通过CDO组件发送得了,代码如下:

    Code);

        sysMailer.fromAddress("
    TestTest@126.com");


        sysMailer.tos().appendAddress("Test111
    @sina.com.cn");
        sysMailer.tos().appendAddress("
    TestTest@hotmail.com");
        sysMailer.ccs().appendAddress(
    'TestTest@sina.com.cn');

        sysMailer.subject(
    "Hello,Just a test");

        sysMailer.htmlBody(
    @"<html>
                                <head></head>
                                <body>
                                    <table>
                                        <tr>
                                            测试邮件
                                        </tr>
                                        <tr>
                                            测试邮件2
                                        </tr>
                                    </table>
                                </body>
                            </html>
    ");

        sysMailer.attachments().add(
    @"C:\replaceOnlookup.jpg");
        sysMailer.attachments().add(
    @"C:\Pick2.jpg");

        sysMailer.sendMail();
    }

    运行,不幸,得到如下错误:

    咋还出乱码了那,还好有代码,去网上一查,还好我们有bing,有问题"bing"一下(微软可真会找乐,搞这么名字做引擎。。。)
    [COMException (0x80040213): 与服务器的传输连接失败。
    原来是我的McAfee把我给阻止了,打开McAfee的控制台,双击 访问保护,找到 禁止群发邮件蠕虫发送邮件,把Ax32.exe添加到要排除的进程中就可以了,至于其他杀毒软件,在具体情况具体分析吧。
    OK,终于可以发了,应该一切OK了吧,且慢,我要发送给两个邮件地址,咋只有后一个地址能收到?AX4.0的bug,修改如下,找到类SysMailerAddressField的appendAddress方法,修改

    if (strlen(addresses) > 0)
    {
        address 
    = ',' + address;
    }

    if (strlen(addresses) > 0)
    {
        address 
    = addresses+ ',' + address;
    }

    好了,终于消停了。

  • 相关阅读:
    POJ--3667 Hotel
    Dragon Balls
    Popular Cows
    Tunnel Warfare [HDU--1540]
    CompletableFuture
    Future<V>
    分布式架构知识体系
    异步I/O和非阻塞I/O(轮询)
    同步异步阻塞非阻塞及并发级别
    volatile
  • 原文地址:https://www.cnblogs.com/Farseer1215/p/1523512.html
Copyright © 2020-2023  润新知