SMTP 邮件库 - MetaTrader 5 的库



该库旨在发送邮件消息。
功能集扩展了传统的可能性发送邮件。现在您可以以文本和 HTML 格式发送消息。消息可以发送给多个收件人。您可以在信件中附加一个或多个文件。支持 SSL。
DLL源代码是在Delphi XE4上使用编写的印地图书馆。
除了项目文件之外,您还应该安装开放式SSL图书馆。
库函数列表:
错误信息:
脚本示例:
//+------------------------------------------------------------------+ //| 邮件发送.mq5 | //| 阿沃伊坚科 | //| https://www.mql5.com/en/users/avoitenko | //+------------------------------------------------------------------+ #财产版权 “阿沃伊坚科” #财产关联 “https://www.mql5.com/en/users/avoitenko” #财产版本 “1.00” #财产脚本显示输入 #包括<贸易\贸易.mqh>#包括<数组\ArrayString.mqh>#包括//+------------------------------------------------------------------+ //| ENUM_MESSAGE | //+------------------------------------------------------------------+ 枚举ENUM_MESSAGE { 消息文本, // 文本 MESSAGE_HTML, // html MESSAGE_INLINE_TEXT, // 内嵌文本 MESSAGE_INLINE_HTML // 内联 html };//+------------------------------------------------------------------+ //| 输入参数 | //+------------------------------------------------------------------+ 输入 细绳 邮件选项=“===邮件选项===”; // 邮件选项 输入 细绳 InpMailHost=“smtp.gmail.com”; // 主持人 输入 整数 InpMailPort=第465章; // 港口 输入 细绳 InpMail用户=“用户@gmail.com”; // 用户 输入 细绳 Inp邮件密码=“密码”; // 密码 输入 细绳 InpMailFrom=””; // 来自(文本) 输入 细绳 InpMail主题=《SMTP邮件库》; // 主题(文本) 输入 细绳 InpMailTo=“用户@ukr.net”; // 邮寄至 输入 单位 InpMailConnectionTimeout=5000; // 连接超时,毫秒 输入 细绳 消息选项=“===消息选项===”; // 消息选项 输入ENUM_MESSAGE InpMessageType=MESSAGE_HTML; // 类型 输入 细绳 InpMessageAttachmentFiles="d:\\Temp\\dollar.bmp;d:\\Temp\\euro.bmp";// 附件文件 输入 细绳 InpMessageInlineFiles=“d:\\Temp\\ReportTester-20066082.html”;// 内联文件 //+------------------------------------------------------------------+ //|脚本程序启动函数 | //+------------------------------------------------------------------+ 空白 启动时() { 长的邮件发送=0;//初始化 // - - 联系 整数err=MailConnect(smtp,InpMailHost,InpMailPort,InpMailUser,InpMailPassword,InpMailConnectionTimeout); 如果(错误!=0) { 打印(“邮件连接错误:”,MailErrorDescription(err)); 返回; } 转变(Inp消息类型) { //--- 案件MESSAGE_TEXT: { //--- 纯文本 细绳文字=字符串格式(“帐户:%d\r\n余额:%.2f %s”,账户信息整数(帐户登录),帐户信息双(账户余额),帐户信息字符串(ACCOUNT_CURRENCY)); //--- 给自己发送邮件 err=MailSendText(smtp,InpMailUser,InpMailFrom,InpMailSubject,文本,InpMessageAttachmentFiles); 如果(错误!=0) 打印(“邮件发送文本错误:”,MailErrorDescription(err)); 别的 打印格式(“程序‘%s’已向‘%s’发送邮件”,MQL 信息字符串(MQL_PROGRAM_NAME),InpMailUser); //--- 发送邮件到MailTo err=MailSendText(smtp,InpMailTo,InpMailFrom,InpMailSubject,文本,InpMessageAttachmentFiles); 如果(错误!=0) 打印(“邮件发送文本错误:”,MailErrorDescription(err)); 别的 打印格式(“程序‘%s’已向‘%s’发送邮件”,MQL 信息字符串(MQL_PROGRAM_NAME),InpMailTo); } 休息; //--- 案件MESSAGE_HTML: { //--- 构建 html 细绳html=BuildReport(); //--- 发送 html err=MailSendHtml(smtp,InpMailTo,InpMailFrom,InpMailSubject,html,””); 如果(错误!=0) 打印(“邮件发送文本错误:”,MailErrorDescription(err)); 别的 打印格式(“程序‘%s’已向‘%s’发送邮件”,MQL 信息字符串(MQL_PROGRAM_NAME),InpMailTo); } 休息; //--- 案件MESSAGE_INLINE_TEXT: { err=MailSendInlineTextFile(smtp,InpMailTo,InpMailFrom,InpMailSubject,InpMessageInlineFiles); 如果(错误!=0) 打印(“邮件发送文本错误:”,MailErrorDescription(err)); 别的 打印格式(“程序‘%s’已向‘%s’发送邮件”,MQL 信息字符串(MQL_PROGRAM_NAME),InpMailTo); } 休息; //--- 案件MESSAGE_INLINE_HTML: { err=MailSendInlineHtmlFile(smtp,InpMailTo,InpMailFrom,InpMailSubject,InpMessageInlineFiles); 如果(错误!=0) 打印(“邮件发送文本错误:”,MailErrorDescription(err)); 别的 打印格式(“程序‘%s’已向‘%s’发送邮件”,MQL 信息字符串(MQL_PROGRAM_NAME),InpMailTo); } 休息; }//--- 关闭连接 邮件关闭(smtp); }//+------------------------------------------------------------------+ //| BuildReport | //+------------------------------------------------------------------+ 细绳构建报告() { CArrayString html;//--- html.添加(“ 报告 ”); html.添加("<元名称=\"格式检测\"内容=\"电话=否\">"); html.添加(" 🔐请登录后参与评论注册满12小时后评论,即可解锁附件下载立即登录
