Enviar e-mails com formatação

 

Prezados,

É possível no MT5 enviar e-mail pela função SendMail() com caracteres especiais no corpo do e-mail?

Gostaria de enviar no corpo do e-mail, o caracter TAB, afim de que possa separar diversos valores e fazer um copy & paste para o Excel automaticamente em diferentes colunas.

Pelo que vejo a função SendMail() do MT5 só permite Plain Text e para se enviar HTML, por exemplo, teria que se criar uma DLL.

Alguém sabe alguma forma mais simples de fazer isso acima?

Abraços.

 
André Barbisan:

Prezados,

É possível no MT5 enviar e-mail pela função SendMail() com caracteres especiais no corpo do e-mail?

Gostaria de enviar no corpo do e-mail, o caracter TAB, afim de que possa separar diversos valores e fazer um copy & paste para o Excel automaticamente em diferentes colunas.

Pelo que vejo a função SendMail() do MT5 só permite Plain Text e para se enviar HTML, por exemplo, teria que se criar uma DLL.

Alguém sabe alguma forma mais simples de fazer isso acima?

Abraços.

Olá André Barbisan, em tese realmente você só pode enviar textos sem formatação nenhuma, mas recomendo estudares a thread https://www.mql5.com/en/forum/123932 (em inglês) com uma solução de contorno usando uma aplicação relay SMTP (em http://www.blat.net/miniRelay/docs.html) para conseguir enviar HTML diretamente pelo SendMail().
Na prática, a solução de contorno faz uma mudança no header 'Content-Type' MIME form tipo 'text/plain' para tipo 'text/html', portanto tenha cuidado em fazer isso e também na validação de qualquer aplicação externa adicional, por sua conta e risco.
Sds.,
Rogério Figurelli

Solution to some email related issues recently posted on the forum (SMTP account problems, removing "Expert Adviser", HTML formatted emails)
Solution to some email related issues recently posted on the forum (SMTP account problems, removing "Expert Adviser", HTML formatted emails)
  • 2010.02.15
  • www.mql5.com
Following some recent email related posts here is a method I found that enables: Sending emails without a SMTP account, Removing "Expert Advis...
 
André Barbisan:

Prezados,

É possível no MT5 enviar e-mail pela função SendMail() com caracteres especiais no corpo do e-mail?

Gostaria de enviar no corpo do e-mail, o caracter TAB, afim de que possa separar diversos valores e fazer um copy & paste para o Excel automaticamente em diferentes colunas.

Pelo que vejo a função SendMail() do MT5 só permite Plain Text e para se enviar HTML, por exemplo, teria que se criar uma DLL.

Alguém sabe alguma forma mais simples de fazer isso acima?

Abraços.

Man,

Ao invés de tentar fazer isso pela função SendMail() e se expor a riscos de ciber segurança como alertado pelo @Rogerio Figurelli, por que você não pensa em uma solução por socket?

Com isso, poderia estabelecer comunicação mais segura entre o MT5 e outra aplicação, bem como já enviar os dados diretamente para tratamento e análise, em softwares como Python, C++ ou outro.

Sugiro a leitura da documentação sobre socket, além deste artigo .

[ ]´s

 
Joscelino Celso de Oliveira:

Man,

Ao invés de tentar fazer isso pela função SenMail() e se expor a riscos de ciber segurança como alertado pelo @Rogerio Figurelli, por que você não pensa em uma solução por socket?

Com isso, poderia estabelecer comunicação mais segura entre o MT5 e outra aplicação, bem como já enviar os dados diretamente para tratamento e análise, em softwares como Python, C++ ou outro.

Sugiro a leitura da documentação sobre socket, além deste artigo .

[ ]´s

Olá Joscelino Celso de Oliveira,
Concordo totalmente, e, nesse caso, sugiro manter uma função de rede como a SendMail(), mas fazendo diretamente uma solicitação na camada de aplicação web, através da função WebRequest() e chamando uma aplicação script (PHP, ASP, etc.), que irá enviar o e-mail ou até mesmo endereçar para um grupo de discussão, rede social, aplicativo de mensagens, torpedo, etc.
Sds.,
Rogério Figurelli

Documentação sobre MQL5: Funções de rede / WebRequest
Documentação sobre MQL5: Funções de rede / WebRequest
  • www.mql5.com
Para usar a função WebRequest(), adicione os endereços dos servidores necessários na lista de URLs permitidos na guia "Expert Advisors" da janela "Options". A porta do servidor é automaticamente selecionada com base no protocolo especificado - 80 para "http://" e 443 para "https://". A função WebRequest() é síncrona, o que significa que...
 
André, não sei qual é sua necessidade, mas poderia também gerar um arquivo (. CSV por exemplo) e enviar para um destinatário via FTP. 

Abraço, Conrado

Documentation on MQL5: Network Functions / SendFTP
Documentation on MQL5: Network Functions / SendFTP
  • www.mql5.com
Network Functions / SendFTP - Reference on algorithmic/automated trading language for MetaTrader 5