天软金融分析.NET函数大全 > TSL函数 > 资源访问函数 > 网络访问以及相关函数

SysSendMail    

  • 说明:利用SMTP服务器发送邮件,成功返回真,否则返回假。如果有MSG这个参数,则当失败的时候返回失败的具体信息到MSG参数。
    定义一:SysSendMail(AHost,ASubject,ATo,AFrom,AText:String;[Var Msg:String]):Boolean;
    参数:
      AHost:字符串类型,SMTP服务器地址或者别名。如果端口特殊或者需要认证,可在配置文件中设置。
      ASubject:字符串类型,邮件标题。
      ATo:字符串类型,收件人。
      AFrom:字符串类型,发件人。
      AText:字符串类型,邮件内容。
      MSG:用于接收错误信息的参数,可省略。

    定义二:SysSendMail(AHost,ASubject,ATo,AFrom,AText,ACharSet,ABccList,ACCList:String; APriority:Integer;[<AttachmentName1:String;AttachmentContent1:String>[…<AttachmentNameN:String;AttachmentContentN:String>]][Var Msg:String]):Boolean;
    参数:
      AHost:字符串类型,SMTP服务器地址或者别名。如果端口特殊或者需要认证,可在配置文件中设置。
      ASubject:字符串类型,邮件标题。
      ATo:字符串类型,收件人。
      AFrom:字符串类型,发件人。
      AText:字符串类型,邮件内容。
      ACharSet:字符串类型,邮件编码类型。
      ABccList:字符串类型,密件抄送地址。
      ACCList:字符串类型,抄送地址。
      APriority:整数类型,邮件优先级。
      附件可选参数,AttachmentName和AttachmentContent任意对参数组合。
      AttachmentName..:添加的附件在邮件里的文件名称。
      AttachmentContent..:添加的附件的内容,如果该内容为字符串类型且存在该文件,则将文件内容作为附件内容。
      MSG:用于接收错误信息的参数,可省略。
    返回:如果发送成功,则返回1,否则返回0;

    范例:
    //范例一:
    ret:=rdo2 sysSendmail("www.tinysoft.com.cn",
    '客户端发邮件测试',
    'xulihua@tinysoft.com.cn',
    'support@tinysoft.com.cn',
    'Tinysoft hello',
    msg);
    return ret;
    //结果:1
    //范例二:
     ret:=rdo2 sysSendMail("www.tinysoft.com.cn",
             '客户端发邮件测试',
             'xulihua@tinysoft.com.cn',
             'support@tinysoft.com.cn',
             '邮件测试:Tinysoft',
             'gb2312',
             'wuxinxing@tinysoft.com.cn',
             'chenjuan@tinysoft.com.cn',
             1,
             '附件测试',
             'D:\\test1\\test.tsl',
             msg);
     return ret;
     //返回:1,发送的附件为 "附件测试.dat"


    //范例三:通过QQ邮箱发送邮件。注意,通过QQ邮箱发送邮件,需要使用QQ账户和账户授权码。授权码的获取参照步骤说明进行配置并获取:
    http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256
    //通过调用类smtp设置配置信息及发送邮件
    Function SendEmailTest_QQ();
    Begin
    return rdo2 SendEamailTest();
    End;

    function SendEamailTest();
    begin
      obj:= CreateObject("smtp") ;
      obj.UserName := '510543292' ;    //邮箱账号(用户QQ账号)
      obj.Password := 'abcdefg' ;       //安全验证码(用户QQ的授权码)
      obj.UseTLS:=1;           //安全传输协议
      obj.Host := 'smtp.qq.com' ;    //smtp服务器
      //obj.AuthType := 1 ;
      obj.port:=465;           //smtp服务器端口 465或587
      try
       Ret := obj.Connect();
       echo ret;
      Except
       return echo "\r\nconnect fail\r\n" ;
      end;

      msg := CreateObject("MailMsg");
      msg.subject := "邮件发送测试";    //文件标题
      msg.from := "510543292@qq.com";
      msg.ContentType:='text/html; charset="gb2312"';
      msg.body := "定时任务调度";      //文件内容
      msg.Sender := "510543292@qq.com";  //邮件发送人
      msg.Recipients :="510543292@qq.com";//邮件接收人

      try
       echo obj.send(msg);
       echo msg;
      except
       echo '\r\n邮件错误信息',obj.LastCmdResult();
       return echo '\r\n邮件发送失败:',ExceptObject.errinfo;
      end;
      return echo 'over';
    end


    //范例四:通过QQ邮箱发送邮件。注意,通过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=510543292
    smtp.QQ.COM:Password=abc
    smtp.QQ.COM=smtp.QQ.COM
    }
    ret:=sysSendmail("smtp.qq.com",
             '客户端发邮件测试',
             '510543292@qq.com',
             '510543292@qq.com',
             'Tinysoft hello',
             msg);
    return msg;

内容