MT4或MT5邮件发送功能扩展dll组件源码
chmail.dll是我们采用VC++ Unicode开发一款标准调用的DLL组件,用来弥补一些软件邮件发送问题,如MT4或MT5中SendMail函数无法随意修改端口或者发送一些其它邮件的缺点。可免费下载测试,dll正式版是 500 元 永久使用。带VC++源码是 3000 元。有需要的朋友可联系在线客服。
MQL4/ MQL4/Libraries/ MQL4/Libraries/chmail.dll MQL4/Libraries/libgsasl-7.dll MQL4/Scripts/ MQL4/Scripts/chmailTest.mq4 策汇在线.url 必须读我.txtMQL4/Scripts/chmailTest.mq4代码片段:
//+------------------------------------------------------------------+ //| chmailTest.mq4 | //| Copyright 2020, MetaQuotes Software Corp. | //| http://www.fxchs.com | //+------------------------------------------------------------------+ #property copyright "策汇在线 邮件组件chmail.dll 测试脚本" #property link "http://www.fxchs.com" #property version "1.00" #property strict #import "chmail.dll" int chSendMailBySMTP(string Server, // 邮箱服务器SMTP地址 int Port, // 邮箱服务器端口 string User, // 登录邮箱用户名 string Password, // 登录邮箱密码 string From, // 发件人 string To, // 收件人 string Subject, // 主题 string Text, // 内容 string Attachment, // 附件 bool UseHtml, // 是否使用HTML格式 string &Error); // 返回错误,当函数为非0时,返回错误文本 #import //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { int nRet = 0; string strError = ""; string strText = "策汇在线邮件发送扩展DLL测试。。。。"; string strTextSubject = "chmail.dll邮件普通文本发送测试"; string strHTML = " 策汇在线邮件发送扩展DLL测试
"; string strHTMLSubject = "chmail.dll邮件HTML发送测试"; string strServer = "smtp.qq.com"; // 邮箱服务器 int nPort = 465; // 邮箱端口 string strFrom = "xxxxxxxxx@qq.com"; // 发件人 string strTo = "xxxxxxxxx@qq.com"; // 收件人 string strUser = "xxxxxxxxxx@qq.com"; // 邮箱用户名 string strPassword = "xxxxxxx"; // 邮箱密码 // 多申请点内存空间 StringInit(strError,2024,0); // 发送普通文本 Print("正在测试普通文本邮件发送..."); nRet = chSendMailBySMTP(strServer,nPort,strUser,strPassword,strFrom,strTo,strTextSubject,strText,"",false,strError); if (nRet != 0) { Print("普通文本邮件发送失败!错误:",strError); } else { Print("发送普通邮件成功!"); } // 发送HTML Print("正在测试HTML邮件发送..."); nRet = chSendMailBySMTP(strServer,nPort,strUser,strPassword,strFrom,strTo,strHTMLSubject,strHTML,"",true,strError); if (nRet != 0) { Print("HTML邮件发送失败!错误:",strError); } else { Print("发送HTML邮件成功!"); } // 发送附件前,先写个文本 string terminal_data_path=TerminalInfoString(TERMINAL_DATA_PATH); string filename=terminal_data_path+"\\MQL4\\Files\\chmailTest.txt"; int nHandle = FileOpen("chmailTest.txt",FILE_WRITE|FILE_CSV); if(nHandle!=INVALID_HANDLE) { FileWriteString(nHandle,strText,StringLen(strText)); FileClose(nHandle); } Print("正在测试带附件邮件发送..."); nRet = chSendMailBySMTP(strServer,nPort,strUser,strPassword,strFrom,strTo,strTextSubject,strText,filename,false,strError); if (nRet != 0) { Print("带附件邮件发送失败!错误:",strError); } else { Print("带附件邮件发送成功!"); } } //+------------------------------------------------------------------+