Письмо с вложением - страница 2

 
Vitaly Muzichenko:

Решения нет, его нужно писать. Есть только наброски

Да я не лично к Вам, я вообще... думаю есть те, у кого оно давно есть.

 

Есть простая в использовании консольная утилита для отправки мыла - https://sourceforge.net/projects/swithmail/ . Поддерживает присоединение вложений.

Если запустить без параметров, открывает конфигуратор командной строки. Очень удобно.

Нужно просто вызвать ShellExeculte для её запуска и всё, никаких длл не нужно.

 
SeriousRacoon:

Есть простая в использовании консольная утилита для отправки мыла - https://sourceforge.net/projects/swithmail/ . Поддерживает присоединение вложений.

Если запустить без параметров, открывает конфигуратор командной строки. Очень удобно.

Нужно просто вызвать ShellExeculte для её запуска и всё, никаких длл не нужно.

Это интересно, а как правильно это делать, можете пример привести?

 

В начале файла:

#import "shell32.dll"
    int ShellExecuteW(unsigned long hWnd, string sVerb, string sFile, string sParameters, string sPath, int nShowCommand);
#import


Потом где-то в недрах (предполагается, что SwithMail.exe лежит в TerminalInfoString(TERMINAL_DATA_PATH) + "\\MQL5\\Libraries"):

string sSwithMailFolder = TerminalInfoString(TERMINAL_DATA_PATH) + "\\MQL5\\Libraries";
string sSwithMailExe = sSwithMailFolder + "\\SwithMail.exe";
int nResult = ShellExecuteW(0, "open", sSwithMailExe, "командная строка", sSwithMailFolder, 0);
if (nResult <= 32)
    Print("Всё пропало, гипс снимают, клиент уезжает!");


Ну, и справку почитать, конечно: https://docs.microsoft.com/en-us/windows/desktop/api/shellapi/nf-shellapi-shellexecutew

 
SeriousRacoon:

В начале файла:

#import "shell32.dll"
    int ShellExecuteW(unsigned long hWnd, string sVerb, string sFile, string sParameters, string sPath, int nShowCommand);
#import


Потом где-то в недрах (предполагается, что SwithMail.exe лежит в TerminalInfoString(TERMINAL_DATA_PATH) + "\\MQL5\\Libraries"):

string sSwithMailFolder = TerminalInfoString(TERMINAL_DATA_PATH) + "\\MQL5\\Libraries";
string sSwithMailExe = g_sSmtpMailFolder + "\\SwithMail.exe";
int nResult = ShellExecuteW(0, "open", sSwithMailExe, "командная строка", sSwithMailFolder, 0);
if (nResult <= 32)
    Print("Всё пропало, гипс снимают, клиент уезжает!");


Ну, и справку почитать, конечно: https://docs.microsoft.com/en-us/windows/desktop/api/shellapi/nf-shellapi-shellexecutew

Спасибо!

Мда всё как то не просто!

 
Aleksey Vyazmikin:

Спасибо!

Мда всё как то не просто!

 Посмотрите это:

https://www.mql5.com/ru/code/11466

SMTP Mail Library
SMTP Mail Library
  • www.mql5.com
Данная библиотека служит для отправки почтовых сообщений. Набор функций расширяет возможности стандартной SendMail. Теперь вы можете отправлять сообщения как в текстовом так и в HTML формате. Адресатов может быть несколько. К письму можно прикрепить один или несколько файлов. Поддерживается SSL. Исходный код DLL написан на Delphi XE4 с...
 
Andrey Barinov:

 Посмотрите это:

https://www.mql5.com/ru/code/11466

Спасибо, кажется это хороший вариант!