Página 1 de 2
mailsend
Enviado: 22 Dez 2014 15:43
por Alexandre Silva
Ola
Uso mailsend, pois tem a opcao TTLS, que o o Blat nao tem..
Em apenas um cliente começou a dar o erro abaixo...todos os micros..
reiniciamos servidor etc e nada...
Alguma dica.. ??
outros clientes que tb usam mailsend... sem problemas...
22-dez-2014 13:43:12.328: mailsend v@(#) mailsend v1.17b14
Winsock error[10054]: Foi forçado o cancelamento de uma conexão existente pelo host remoto.
mailsend
Enviado: 22 Dez 2014 16:50
por Kapiaba
Olá,
Erro de soquete (# 10054)
O SSL do server está habilitado := .T. ?
Verifique.
abs.
mailsend
Enviado: 22 Dez 2014 17:03
por Jairo Maia
Olá Pessoal,
Kapiaba escreveu:O SSL do server está habilitado := .T. ?
Kapiaba,na minha opinião deve estar sim, pois conseguiu conexão. É um erro de Reset no servidor por alguma conexão que teve problema.
Alexandre Silva escreveu:Em apenas um cliente começou a dar o erro abaixo...todos os micros..
Alexandre, algumas dicas, talvez resolva, mas terá que ser feito desta forma:
1 - Verifique em cada máquina se há mais de 1 antivírus instalado. Se sim, deixe apenas 1.
2 - Baixe aqui do site oficial da Piriform o CCleaner (gosto de indicar o CCleaner):
http://www.piriform.com/
3 - desconecte toda a rede (se for Wi-FI desligue o modem, se for cabo, desconecte os cabos).
4 - Rode o CCleaner em cada máquina (o computador será reiniciado)
5 - reconect a rede e veja se resolve.
Nota: Caso resolva, tem que observar o uso de pen-drives, pois se for o caso de MalWare, eles podem estar infectados e retornar o problema.
Tente e veja se resolve.
mailsend
Enviado: 22 Dez 2014 17:26
por Kapiaba
Olá Jairo, pode ser que você esteja certo.
Além do cCleaner, uso mais duas seguranças em meu computador e nos clientes:
Advanced SystemCare 8 Free
http://www.iobit.com/advancedsystemcareper.php
e,
IObit Malware Fighter 2 Free
http://www.iobit.com/malware-fighter.php
Obg. abs.
mailsend
Enviado: 23 Dez 2014 06:26
por Jairo Maia
Alexandre, mil desculpas...
Agora lendo a mensagem do Kapiaba é que vi que comi bola no passo 2. A idéia é remover MalWare, e o CCleaner não faz isso, apenas limpa o cache.
Onde escrevi:
Tem que ser:
Ou use uma das opções do Kapiaba. O problema pode estar relacionado a MalWare, não a cache. Foi mal, é o cansaço...
mailsend
Enviado: 23 Dez 2014 12:00
por Alexandre Silva
vamos tentar isso..depois posto.. aqui..
Só para informacao o cliente está conseguindo mandar e-mail pelo site do provedor...
o problema acontece com com o mailsend.. ok
mailsend
Enviado: 23 Dez 2014 15:08
por Itamar M. Lins Jr.
Já quebrei cabeça com isso, abandonei o Mailsend (conselho do Viktor) e passei a usar a Curl uma lib usada por praticamente 90% dos desenvolvedores, PHP, Java, e outros.
Saudações,
Itamar M. Lins Jr.
mailsend
Enviado: 23 Dez 2014 15:32
por rochinha
Amiguinhos,
Itamar M. Lins Jr. - Tens um código exemplo de uso da CURL para disponibilizar?
mailsend
Enviado: 24 Dez 2014 11:57
por Itamar M. Lins Jr.
Ola!
Tens um código exemplo de uso da CURL para disponibilizar?
Tá na mão!
Código: Selecionar todos
******************************************************
Function Email(aArqui,cSubject,cBody,cEmail,cBodyFile)
******************************************************
*
*
LOCAL aCC, cEA, lRet := .T., cComCopia, lTLS := .F., lPopAuth, cPopServer, nPortPOP, lTrace := .T.
IF ! tip_SSL()
hwg_msgstop( "Erro: Ative o suporte SSL" )
RETURN
ENDIF
IF hb_AScan( curl_version_info()[ 8 ], "smtps",,, .T. ) == 0
hwg_msgstop( "Error: Requires libcurl 7.20.0 or newer, built with SSL and smtp protocol support" )
RETURN
ENDIF
If Empty(cEmail)
hwg_Msgstop('Informe o email de quem vai receber! ')
return .f.
Else
cTo := cEmail
EndIf
If Empty(em->email)
hwg_Msgstop('Cadastre o email da quem está enviando')
return .f.
Else
cFrom := alltrim(em->email)
EndIf
If Empty(em->senha)
hwg_Msgstop('Cadastre a senha no servidor de email')
return .f.
Else
cPassword := alltrim(em->senha)
EndIf
If Empty(em->smtp)
hwg_Msgstop('Cadastre o servidor SMTP.')
return .f.
Else
cSMTP := alltrim(em->smtp)
EndIf
If Empty(em->porta)
hwg_Msgstop('Cadastre a porta do servidor SMTP.')
return .f.
Else
nPorta := em->porta
EndIf
xCC := iif(em->xCC,cFrom,Nil)
If hb_IsArray(aArqui)
Else
aArqui := {aArqui}
EndIf
// hwg_Msginfo(cSMTP+"-"+str(nPorta)+"-"+cFrom+"-"+cTo+"-"+iif(cComCopia==Nil,"",cComCopia)+"-"+cBody+"-"+cSubJect+"-"+cPassWord)
cEA := tip_MailAssemble( cFrom, ;
{ cTo }, ;
{xCC} /* aCC */, ;
cBody , ;
cSubject , ;
aArqui /* attachment */, ;
/* nPriority */, ;
/* lRead */, ;
/* cReplyTo */, ;
/* cCharset */, ;
"base64" /* cEncoding */, ;
.F. /* lBodyHTML */, ;
/* bSMIME */ )
// hb_MemoWRIT("email.txt",cEA) guardar o email p/ verificar possíveis erros
// hwg_processmessage()
curl_global_init()
IF ! Empty( curl := curl_easy_init() )
#if ! defined( __PLATFORM__UNIX )
IF ! hb_FileExists( _CA_FN_ )
//? "Downloading", _CA_FN_
curl_easy_setopt( curl, HB_CURLOPT_DOWNLOAD )
curl_easy_setopt( curl, HB_CURLOPT_URL, "http://curl.haxx.se/ca/cacert.pem" )
curl_easy_setopt( curl, HB_CURLOPT_DL_FILE_SETUP, _CA_FN_ )
curl_easy_perform( curl )
curl_easy_reset( curl )
ENDIF
curl_easy_setopt( curl, HB_CURLOPT_CAINFO, _CA_FN_ )
#endif
curl_easy_setopt( curl, HB_CURLOPT_USE_SSL, HB_CURLUSESSL_ALL)
curl_easy_setopt( curl, HB_CURLOPT_UPLOAD )
IF "GMAIL" $ Upper(cSMTP)
curl_easy_setopt( curl, HB_CURLOPT_URL, "smtps://smtp.gmail.com:465" )
ELSEIF "YAHOO" $ Upper(cSMTP)
curl_easy_setopt( curl, HB_CURLOPT_URL, "smtps://smtp.mail.yahoo.com:465" )
ELSEIF "OUTLOOK" $ Upper(cSMTP)
curl_easy_setopt( curl, HB_CURLOPT_URL, "smtp://smtp-mail.outlook.com:587" ) //25
ELSEIF "UOL" $ Upper(cSMTP)
curl_easy_setopt( curl, HB_CURLOPT_URL, "smtps://smtps.uol.com.br:465" ) //587
ENDIF
curl_easy_setopt( curl, HB_CURLOPT_USERNAME, cFrom )
curl_easy_setopt( curl, HB_CURLOPT_PASSWORD, cPassword )
curl_easy_setopt( curl, HB_CURLOPT_UL_BUFF_SETUP, cEA )
curl_easy_setopt( curl, HB_CURLOPT_INFILESIZE_LARGE, hb_BLen( cEA ) )
curl_easy_setopt( curl, HB_CURLOPT_MAIL_FROM, cFrom )
IF em->xCC
curl_easy_setopt( curl, HB_CURLOPT_MAIL_RCPT, { cTo , xCC } )
ELSE
curl_easy_setopt( curl, HB_CURLOPT_MAIL_RCPT, { cTo } )
ENDIF
curl_easy_setopt( curl, HB_CURLOPT_VERBOSE, .T. )
hwg_processmessage()
cInfo := str(curl_easy_perform( curl ))
hb_MemoWrit("curl.txt",cInfo)
curl_easy_cleanup( curl )
IF Empty(Val(cInfo))
hwg_msginfo("Email enviado")
ELSE
hwg_msginfo("Falha enviando email")
ENDIF
ELSE
hwg_msginfo("Falha enviando email")
lRet := .F.
ENDIF
RETURN lRet
Pode tirar umas checagens que ficaram redundantes.
O trabalho maior foi p/ descobrir que o Hotmail funciona diferente dos demais (pra variar), é SMTP não SMTPS mesmo com SSL e TLS ativado, vai entender !!!
Saudações,
Itamar M. Lins Jr.
mailsend
Enviado: 28 Dez 2014 23:29
por Itamar M. Lins Jr.
O Viktor também atualizou e corrigiu alguns problemas no fork dele.
Código: Selecionar todos
/* Copyright 2014 Viktor Szakats (vszakats.net/harbour) */
#require "hbcurl"
#require "hbtip"
#include "simpleio.ch"
#define _CA_FN_ "cacert.pem"
PROCEDURE Main( cFrom, cPassword, cTo, cProvider )
LOCAL curl
LOCAL cMessage
LOCAL cHost
LOCAL lSTARTTLS
IF hb_AScan( curl_version_info()[ 8 ], "smtps",,, .T. ) == 0
? "Error: Requires libcurl 7.20.0 or newer, built with SSL and smtp protocol support"
RETURN
ENDIF
hb_default( @cFrom , "from@example.net" )
hb_default( @cPassword, "password" )
hb_default( @cTo , "to@example.com" )
hb_default( @cProvider, "" )
cProvider := Lower( cProvider )
lSTARTTLS := .F.
/* NOTE: Consult your provider for updated settings
and make a pull request if necessary. */
DO CASE
CASE cProvider == "apple" .OR. "@icloud.com" $ cFrom .OR. "@mac.com" $ cFrom .OR. "@me.com" $ cFrom
cHost := "smtp://smtp.mail.me.com:587"; lSTARTTLS := .T.
CASE cProvider == "fastmail" .OR. "@fastmail.com" $ cFrom .OR. "@fastmail.fm" $ cFrom
cHost := "smtps://mail.messagingengine.com"
CASE cProvider == "gmx.net" .OR. "@gmx.net" $ cFrom .OR. "@gmx.ch" $ cFrom .OR. "@gmx.de" $ cFrom
cHost := "smtp://mail.gmx.net:587"; lSTARTTLS := .T.
CASE cProvider == "google" .OR. "@gmail.com" $ cFrom .OR. "@googlemail.com" $ cFrom
cHost := "smtps://smtp.gmail.com"
CASE cProvider == "mail.ru" .OR. "@mail.ru" $ cFrom
cHost := "smtps://smtp.mail.ru"
CASE cProvider == "netease" .OR. "@163.com" $ cFrom
cHost := "smtps://smtp.163.com"
CASE cProvider == "office365"
cHost := "smtp://smtp.office365.com:587"; lSTARTTLS := .T.
CASE cProvider == "outlook" .OR. "@outlook.com" $ cFrom .OR. "@hotmail.com" $ cFrom
cHost := "smtp://smtp-mail.outlook.com:587"; lSTARTTLS := .T.
CASE cProvider == "sina" .OR. "@sina.com" $ cFrom
cHost := "smtps://smtp.vip.sina.com"
CASE cProvider == "uol" .OR. "@uol.com.br" $ cFrom
cHost := "smtps://smtps.uol.com.br"
CASE cProvider == "yahoo" .OR. "@yahoo.com" $ cFrom
cHost := "smtps://smtp.mail.yahoo.com"
OTHERWISE
? "Error: Unknown provider"
RETURN
ENDCASE
cMessage := tip_MailAssemble( cFrom, ;
{ cTo }, ;
/* aCC */, ;
"test: body", ;
"test: subject", ;
/* attachment */, ;
/* nPriority */, ;
/* lRead */, ;
/* cReplyTo */, ;
/* cCharset */, ;
/* cEncoding */, ;
.F. /* lBodyHTML */, ;
/* bSMIME */ )
curl_global_init()
IF ! Empty( curl := curl_easy_init() )
#if ! defined( __PLATFORM__UNIX )
IF ! hb_FileExists( _CA_FN_ )
? "Downloading", _CA_FN_
curl_easy_setopt( curl, HB_CURLOPT_DOWNLOAD )
curl_easy_setopt( curl, HB_CURLOPT_URL, "http://curl.haxx.se/ca/cacert.pem" )
curl_easy_setopt( curl, HB_CURLOPT_DL_FILE_SETUP, _CA_FN_ )
curl_easy_perform( curl )
curl_easy_reset( curl )
ENDIF
curl_easy_setopt( curl, HB_CURLOPT_CAINFO, _CA_FN_ )
#endif
IF lSTARTTLS
curl_easy_setopt( curl, HB_CURLOPT_USE_SSL, HB_CURLUSESSL_ALL )
ENDIF
curl_easy_setopt( curl, HB_CURLOPT_UPLOAD )
curl_easy_setopt( curl, HB_CURLOPT_URL, cHost )
curl_easy_setopt( curl, HB_CURLOPT_USERNAME, cFrom )
curl_easy_setopt( curl, HB_CURLOPT_PASSWORD, cPassword )
curl_easy_setopt( curl, HB_CURLOPT_UL_BUFF_SETUP, cMessage )
curl_easy_setopt( curl, HB_CURLOPT_INFILESIZE_LARGE, hb_BLen( cMessage ) )
curl_easy_setopt( curl, HB_CURLOPT_MAIL_FROM, cFrom )
curl_easy_setopt( curl, HB_CURLOPT_MAIL_RCPT, { cTo } )
curl_easy_setopt( curl, HB_CURLOPT_VERBOSE, .T. )
? "Result:", curl_easy_perform( curl )
curl_easy_cleanup( curl )
ELSE
? "Failed to init"
ENDIF
RETURN
Código: Selecionar todos
2014-12-29 02:13 UTC+0100 Viktor Szakats (vszakats users.noreply.github.com)
* contrib/hbcurl/hbcurl.ch
+ added new error codes
* contrib/hbcurl/tests/email.prg
* contrib/hbtip/tests/email.prg
+ added more SMTP provider examples
(gmx.net, mail.ru, netease/163, office365, sina, UOL)
2014-12-28 23:26 UTC+0100 Viktor Szakats (vszakats users.noreply.github.com)
* contrib/hbcurl/tests/email.prg
+ recognize another sender domain
2014-12-28 23:23 UTC+0100 Viktor Szakats (vszakats users.noreply.github.com)
* contrib/hbmisc/spd.c
* utils/hbmk2/hbmk2.prg
* cleanups
2014-12-28 12:17 UTC+0100 Viktor Szakats (vszakats users.noreply.github.com)
* contrib/hbcurl/tests/email.prg
+ added support for apple and gmx mail
! fixed accessing servers that use STARTTLS
% deleted default port 465
* package/winuni/mpkg_win_uni.bat
* whitespace
2014-12-27 21:18 UTC+0100 Viktor Szakats (vszakats users.noreply.github.com)
* tests/iotcp.prg
! fixed to run as hbrun script
! fixed test service's port
2014-12-27 15:35 UTC+0100 Viktor Szakats (vszakats users.noreply.github.com)
* contrib/hbcurl/tests/gmail.prg -> contrib/hbcurl/tests/email.prg
* contrib/hbtip/tests/gmail.hbp -> contrib/hbtip/tests/email.hbp
* contrib/hbtip/tests/gmail.prg -> contrib/hbtip/tests/email.prg
* renamed to be provider agnostic
+ added alternate SMTP providers
2014-12-26 01:53 UTC+0100 Viktor Szakats (vszakats users.noreply.github.com)
* contrib/hbssl/tests/crypt.prg
! typos
! TOFIX added
+ changed cipher, added iv
* contrib/hbssl/tests/encode.prg
! fixed terminology
* contrib/hbssl/tests/test.prg
! fixed HTTP request
* changed to use example.org
* contrib/hbssl/evpciph.c
* contrib/hbssl/hbssl.ch
+ AES/GCM ciphers added (couldn't make them work)
* contrib/hbwin/win_os.prg
* minor comment cleanup
* contrib/xhb/thtm.prg
* use example.org
* contrib/xhb/xhbmemo.prg
* whitespace
Usando o tipmail
Código: Selecionar todos
/* Copyright 2009 Viktor Szakats (vszakats.net/harbour) */
#require "hbssl"
#require "hbtip"
#if ! defined( __HBSCRIPT__HBSHELL )
REQUEST __HBEXTERN__HBSSL__
#endif
#include "simpleio.ch"
PROCEDURE Main( cFrom, cPassword, cTo, cProvider )
LOCAL cHost
LOCAL nPort := 465
LOCAL lTLS := .T.
IF ! tip_SSL()
? "Error: Requires SSL support"
RETURN
ENDIF
hb_default( @cFrom , "<from@example.net>" )
hb_default( @cPassword, "password" )
hb_default( @cTo , "to@example.com" )
hb_default( @cProvider, "" )
cProvider := Lower( cProvider )
DO CASE
CASE cProvider == "fastmail" .OR. "@fastmail.com" $ cFrom .OR. "@fastmail.fm" $ cFrom
cHost := "mail.messagingengine.com"
CASE cProvider == "google" .OR. "@gmail.com" $ cFrom .OR. "@googlemail.com" $ cFrom
cHost := "smtp.gmail.com"
CASE cProvider == "mail.ru" .OR. "@mail.ru" $ cFrom
cHost := "smtp.mail.ru"
CASE cProvider == "netease" .OR. "@163.com" $ cFrom
cHost := "smtp.163.com"
CASE cProvider == "sina" .OR. "@sina.com" $ cFrom
cHost := "smtp.vip.sina.com"
CASE cProvider == "uol" .OR. "@uol.com.br" $ cFrom
cHost := "smtps.uol.com.br"
CASE cProvider == "yahoo" .OR. "@yahoo.com" $ cFrom
cHost := "smtp.mail.yahoo.com"
OTHERWISE
? "Error: Unknown provider"
RETURN
ENDCASE
? tip_MailSend( ;
cHost, ;
nPort, ;
cFrom, ;
cTo, ;
NIL /* CC */, ;
{} /* BCC */, ;
"test: body", ;
"test: subject", ;
NIL /* attachment */, ;
cFrom, ;
cPassword, ;
"", ;
NIL /* nPriority */, ;
NIL /* lRead */, ;
.T. /* lTrace */, ;
.F., ;
NIL /* lNoAuth */, ;
NIL /* nTimeOut */, ;
NIL /* cReplyTo */, ;
lTLS )
RETURN
Saudações,
Itamar M. Lins Jr.
mailsend
Enviado: 05 Jan 2015 22:53
por Alexandre Silva
Entao pessoal ... voltando as atividades. feliz ano novo a todos..
Sempre que vejo esses fontes eu penso. como compila-los...??
Para vcs pode parecer basico..
eu uso harbour. Compilo via hbmk2 projeto.hbp, em modo console
pensei que bastava referenciar conforme abaixo
e/ou fazer os request no programa princial..
ou preciso baixar os fontes da lib e compila-la ?
-oTeste
-lxhb
-lhbwin
-lhbssl
-lhbtip
TESTE.PRG
Claro isso nao deu certo.. como compilar ?
mailsend
Enviado: 06 Jan 2015 21:12
por JoséQuintas
Voltando ao post inicial: acontece muitas vezes dessa mensagem se referir a problemas de autenticação.
Como exemplo, se o servidor pede uma conexão pop3 antes do envio, e essa conexão não for feita.
mailsend
Enviado: 06 Jan 2015 21:16
por Alexandre Silva
e qual a solucao ?
mailsend
Enviado: 06 Jan 2015 21:44
por JoséQuintas
Igual você faz em um programa de email.
Verifique as configurações do provedor de email, e configure o cliente de email de acordo com o provedor.
Se for o caso, teste num programa normal de email pra confirmar.
Não lembro se é nesse caso, mas tem uma situação onde o email só funciona dentro do domínio quando não está configurado direito.
Tipo @provedor.com.br só consegue enviar pra @provedor.com.br
E tem o caso de anexos proibidos, onde o provedor cancela a conexão.
mailsend
Enviado: 06 Jan 2015 22:04
por Alexandre Silva
Mas é que tudo vinha funcionando há mais de 2 anos... nada mudado no e-mail do cliente...mesmo provedor.. etc
e fora o sendmail, os e-mail da empresa estao funcionando..
Prefiro mudar para o Curl citado acima.. só nao sei complilar