Multi empresa com sistema SMTP (envio de e-mail) individualizado

Em um sistema multi empresa desenvolvi uma estrutura de envio de e-mail (SMTP) onde para cada empresa pode cadastrar os dados do seu servidor de e-mail (com isso cada empresa pode usar seu e-mail específico).
O desenvolvimento inicial foi desktop (Scriptcase na própria máquina), onde funcionou perfeitamente com os dados SMTP do host da Scripcase e também com os dados do GMAIL (tempo que permitir ações menos segura na configuração no gmail), mas…
1º Problema: Com os dados SMTP do HOTMAIL (testei várias opções) não consegui fazer funcionar.
Comprei o plano de hospedagem: Scriptcase Developer Plus, (para desenvolvimento online), mas…
2º Problema: Após migrar para o desenvolvimento online nenhuma das duas opções que funcionava, não funciona.
3º Problema: Também não funcionou depois de colocar em produção.
Vou postar imagens para ajudar compreender o que estou relatando e ver se conseguem auxiliar nesta solução, que com certeza servirá para muitos… (a não ser que existe algo melhor que não sei). Mas existindo que possa partilhar…

CadastroServidorSMTP
CadastroServidorSMTP

SQLFiltarServidorSMTP_EmpresaLogada

MétodoEnviarEmail

Quando você executa o envio apresenta algum erro? Caso não esteja apresentando erro coloque na onAplicationinit

ini_set(“display_errors”, 1);

Verifique se a porta 465 está aberta no servidor

Quando executava não aparecei qualquer mensagem de erro, apenas, após certo tempo fechava até o formulário de envio do e-mail e ficava apenas com uma tela branca.
Fiz o que vc recomendou e a mensagem obtida em desenvolvimento foi, na abertura do formulário de envio de e-mail foi conforme imagem abaixo:

E em produção a mensagem obtida foi:

Em ambos os casos parece que nada relacionado com a porta.
Continua o mistério…

Faz o seguinte, na função ini_set(“display_errors”, 1); no SC apaga as aspas duplas e coloca manualmente, se copiar do fórum ele vai colocar outro tipo de aspas e vai apresentar este erro.

Apresentou as mesmas mensagens anterior na abertura do formulário, tanto em desenvolvimento quanto em produção
Mesmo assim tentei enviar o e-mail e ai acontece o seguinte: o formulário some, fica um fundo branco e a mensagem temporária é interrompida e não fecha sozinha.
veja imagem abaixo:

Oi Ruyter, provavelmente ele esta dando erro no envio do Email, após o timeout ele para a mensagem e o fundo branco é porque esta desabilitado nas configurações do php.ini a exibição de erros, se ainda esta apresentando o erro que comentou após adicionar a função display_erros a maneira que ela foi escrita esta errada, veja o GIF que fiz fazendo um teste em uma app aqui, aparece o mesmo erro quando copio do forum, depois apago as aspas e escrevo no código do SC, então o erro para.

Olá Graeffs
Entendi e corrigi as " "
Agora não aparece nenhuma mensagem, mas o formulário fecha e o e-mail não é enviado

Solicitei suporte ao host scriptcase e veja o que responderam, talvez ajude:
Segue abaixo o erro que identificamos no arquivo /home/tempomyh/public_html/sal/control_arrematadores/error_log":
PHP Fatal error: Uncaught Swift_TransportException: Expected response code 250 but got code “535”, with message "535-5.7.8 Username and Password not accepted. Learn more at 535 5.7.8 https://support.google.com/mail/?p=BadCredentials x11sm3044484qkf.50 - gsmtp

Esta mensagem significa que as credenciais utilizadas estão incorretas.
Verificamos também que faltam parâmetros no uso da macro sc_mail_send(como o parâmetro do SSL ).

Está me parecendo que no sistema online as variáveis globais não estão recebendo/capturando as informações cadastradas???

Teria outra forma de desenvolver esta rotina?

Questionei novamente o suporte do HOST:
Mas se funciona normalmente no desenvolvimento desktop da a entender que as credenciais estão corretas.
Deve ser alguma outra coisa…

Ai me responderam:
Olá!

Credenciais do gmail funcionam de maneira diferente em ambientes locais(127.0.0.1) e em servidores na web(internet)
O senhor deve verificar as configurações das contas utilizadas no servidor de smtp e remetentes a fim de normalizar o envio de emails.

Então vamos atrás destas informações…
Alguém já sabe quais os dados corretos para SMTP no servidor, para Gmail e Hotmail?

Entendi, veja este tópico que encontrei, pode te ajudar

Outra dica: crie uma blank e coloque os parâmetros manualmente para testar a questão do usuário e senha, assim que estiver tudo OK replique para as suas aplicações originais com passagem de parâmetro.

Eu me fiquei tao irritado com SMTP + Script case que comecei a enviar mensagens via SendGrid.


nunca mais me irritei com isso