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;