FAQ > 金融建模 > 第三方交互 > 其他

Q:函数sysSendmail,如何实现通过QQ邮箱发送邮件?    

  • A:通过QQ邮箱发送邮件,需要使用QQ账户和账户授权码,授权码的获取参照步骤说明进行配置并获取:http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256,发送邮件的用户名及授权码的配置写在\tinysoft\analyse.net\plugin\fileMgr.ini 文件里。
    fileMgr.ini 文件中配置语句如(端口465或587):

    [Smtp Settings]
    smtp.QQ.COM:UseTLS=1
    smtp.QQ.COM:Port=465
    smtp.QQ.COM:UserName=
    smtp.QQ.COM:Password=
    smtp.QQ.COM=smtp.QQ.COM

    PS:需注意的是,这里的Password不是QQ密码,而是授权码。
    范例1:给QQ邮箱发送普通邮件
    实现代码如下:

    ret:=rdo2 sysSendmail("smtp.qq.com",
             '客户端发邮件测试',
             '12345678@qq.com',//收件地址
             '12345678@qq.com',//发件地址
             'Tinysoft hello',
             msg);
       if ret then
       echo '成功';
       else
       echo '失败';
       return msg;

    如果发送内容包含中文或出现乱码,则可以增加邮件编码类型参数,设置成"gb2312",
    代码如下:

    ret:=rdo2 sysSendmail("smtp.qq.com",
             '客户端发邮件测试',
             '12345678@qq.com',
             '12345678@qq.com',
             'Tinysoft hello',
             'gb2312',
             '',// 密件抄送地址
             '',//抄送地址
             1,//优先级
             msg);
       if ret then
       echo '成功';
       else
       echo '失败';
       return msg;


    范例2:发送的邮件中添加附件

    ret:=rdo2 sysSendMail("smtp.qq.com",
         "附件测试",
         '12345678@qq.com',//收件地址
         '12345678@qq.com',//发件地址
         '邮件内容:xxxx!',
         "gb2312",
         "", // 密件抄送地址
         "",  //抄送地址
         1,  //优先级
         "测试附件.xlsx", //附件名称        
         "C:\\Test\\TestData.xlsx",//附件地址
         msg);
        return ret;