Página 4 de 7
Email pelo Xharbour
Enviado: 15 Jan 2018 10:21
por Daniel
Acho que voce esta usando o comando WITH errado
Código: Selecionar todos
WITH OBJECT oMsg
:MDNRequested = .T.
:Configuration = oCfg
:From = cFrom
:To = aTo[i]
:CC = aCC
:BCC = aBCC
:Subject = cSubject
:Sender = cdpar000->fantasia
:ReplyTo = cFrom
:Organization = cdpar000->razao
if !uso
cMsg = strtran( cMsg, chr(13)+chr(10) , '<br>' )
:HTMLBody = "<h3>"+cMsg+"</h3>"
else
:TextBody = cMsg
endif
For x := 1 To Len( aFiles )
:AddAttachment(AllTrim(aFiles[x]))
Next
IF vEMAIL_CONF
:Fields("urn:schemas:mailheader:disposition-notification-to"):Value:= cFrom
:Fields("urn:schemas:mailheader:return-receipt-to"):Value:= cFrom
ENDIF
:Fields:update()
:Send()
END WITH
Email pelo Xharbour
Enviado: 15 Jan 2018 10:54
por alaminojunior
Daniel, pode até ser, mas tem funcionado assim há uns 10 anos.
Poderia apontar o que achou estranho ?
Obrigado !
Email pelo Xharbour
Enviado: 15 Jan 2018 11:07
por JoséQuintas
TÁ TUDO ERRADO!!!!!
Começou dizendo que foi a mesma mensagem de erro do post.
O ponto principal é: QUAL FOI A MENSAGEM DE ERRO?
Muito provavelmente é uma questão já muito falada no fórum, que dependendo da LIB gráfica o XHarbour funciona de um jeito.
OLE é o uso de recursos existentes no Windows, usando um tipo de ligação entre o programa e o recurso do Windows.
No Harbour isso é feito usando win_OleCreateObject().
No XHarbour depende da LIB gráfica, pode ser CreateObject(), TOleAuto(), xhb_CreateObject(), ou outra coisa diferente que inventaram.
O erro não é na linha da função, o erro é na hora do uso do OLE, dependendo do que está sendo usado, geralmente no Send().
Email pelo Xharbour
Enviado: 15 Jan 2018 11:38
por alaminojunior
No XHarbour depende da LIB gráfica, pode ser CreateObject(), TOleAuto(), xhb_CreateObject(), ou outra coisa diferente que inventaram.
O erro não é na linha da função, o erro é na hora do uso do OLE, dependendo do que está sendo usado, geralmente no Send().
Na HwGui salvo engano meu (pois já procurei) não existe equivalente, e com isso assumo que está usando a que vem nos fontes do xHarbour.
E minhas rotinas de e-mail tem funcionado normalmente.
Email pelo Xharbour
Enviado: 15 Jan 2018 12:19
por JoséQuintas
Acho que voce esta usando o comando WITH errado
Daniel, o WITH OBJECT até está inútil, mas funciona mesmo assim.
Volto ao que postei:
QUAL A MENSAGEM DE ERRO?
Email pelo Xharbour
Enviado: 15 Jan 2018 12:39
por Daniel
Quintas
A minha observação seria só sobre o WITH Objeto mesmo
que com ele ou sem funciona do mesmo jeito
Email pelo Xharbour
Enviado: 15 Jan 2018 22:14
por Shark
Tenho tentado usar estes códigos para enviar email mas recebo este erro:
Error description: Error CDO.Message/3 DISP_E_MEMBERNOTFOUND: SEND
Stack Calls
===========
Called from: => TOLEAUTO:SEND( 0 )
Called from: GMAIL.prg => MAIN( 27 )
Email pelo Xharbour
Enviado: 15 Jan 2018 23:11
por alaminojunior
Provedores como Gmail, Yahoo entre outros, exigem que você ative no painel de controle da sua conta o recurso de fazer login a partir de aplicativos menos seguros.
Faça isso.
Email pelo Xharbour
Enviado: 16 Jan 2018 23:32
por rochinha
Amiguinhos,
Editei meu post várias vezes e ainda deixei erros.
Vamos lá:
alaminojunior
Se você usa o objeto
CDO para o envio dos emails a contento isso é boa notícia.
shark
Eu coloquei em meu sistemas vários motores de envio, alguns já ficaram obsoletos, mas a codificação ficou lá. Não deu ainda para podar e deixar um único.
Eu uso o
blat.exe via command line(quando o prompt permite), mas algumas vezes uso a
blat.dll via
OLE.
O problema do Blat é que no caso do Gmail, o servidor SMTP necessita autenticação via SSL na porta 465 ou 587 como podem ver na página de ajuda do Google. Por isso utilizamos o programa, também grátis chamado Stunnel que ajuda o Blat a encaminhar o email de forma segura utilizando SSL na porta smtp do Gmail.
Para ele funcionar é necessário instalar o
stunnel(
https://www.stunnel.org/?page=downloads). Mas como você falou, tem de mexer nas entranhas do pc do usuário.
Outro dia encontrei o
SwithMail.exe. Se digitar no
Google dá pra encontrar já que não gravei o site.
Linha de comando:
Código: Selecionar todos
SwithMail.exe /s /b corpo.txt /a "C:\SISTEMA\REMESSA\NFE110110*.ZIP" /Server smtp.gmail.com /ssl /p 587 /to irochinha@hotmail.com.br /sub "Arquivos da Nota Fiscal Eletronica - Carta de Correcao" /from meuemail@gmail.com /name meuemail@gmail.com /pass minhasenha$321
Se você digitar somente
SwithMail.exe uma tela de configuração aparecerá e poderá ser feita a configuração e salva em XML.
A partir daí poderá ser chamado via linha de comando. Procure por exemplos.
Email pelo Xharbour
Enviado: 17 Jan 2018 00:39
por Shark
Dei uma lida nas especificações do SwithMail e no que ele se propõem a fazer Rochinha.
Caso não consiga efetivamente usar funções nativas e códigos xharbour para a tarefa, vou apelar pra esse programa externo aí mesmo.
O que me causa estranheza, é uma funcionalidade tão básica como enviar um simples email, demonstrar-se inexplicavelmente assim: tão complexa e anti funcional.
Acho que deveria existir uma função tipo SendMail( cFrom, cText, aFiles )
Apenas isso enviaria a porcaria do email. Como? usando uma conta default provida pela linguagem. Tipo: se o programador não informar o email, usa-se essa conta default e o email chega no destino assim mesmo.
É uma pena isso não existir.
Me pego a imaginar: se pra enviar um email é essa novela todo, como será receber?
Email pelo Xharbour
Enviado: 17 Jan 2018 09:46
por JoséQuintas
Error description: Error CDO.Message/3 DISP_E_MEMBERNOTFOUND: SEND
Isso significa que não existe Send() no objeto que foi criado.
Possibilidades:
- Escreveu o nome errado no CreateObject()
- Não existe o recurso no Windows
- Equivalente a win_OleCreateObject() que foi usado não funciona como deveria
Por enquanto não tem nada a ver com porta 587, comunicação segura, etc.
Tem a ver com não funcionar/existir CDO na variável.
Email pelo Xharbour
Enviado: 17 Jan 2018 09:51
por JoséQuintas
Exemplo do que mencionei:
Provavelmente isso vai gerar o mesmo erro, porque não existe o objeto indicado.
Email pelo Xharbour
Enviado: 17 Jan 2018 10:30
por alaminojunior
Ele ainda não respondeu se já ativou o login em aplicativos menos seguros no painel do Gmail.
Se não fizer essa configuração, vai retornar esse mesmo erro.
Digo por experiência própria.
Email pelo Xharbour
Enviado: 17 Jan 2018 12:47
por rochinha
Amiguinhos,
Me pego a imaginar: se pra enviar um email é essa novela todo, como será receber?
Receber, nunca consegui.
alaminojunior
Entendo que se fosse problema de habilitar algo lá fora, o erro se daria pelo retorno de email do GMail confirmando a impossiblidade. Ao que parece o erro é pela não existência do método no objeto sendo usado.
Email pelo Xharbour
Enviado: 17 Jan 2018 14:39
por JoséQuintas
Novamente.
Tá tudo errado, não existe fonte pra analisar, apenas menciona sobre Send() não funcionar.
Novamente: não tem a ver com GMAIL, PORTA, WITH, nada...
Outro exemplo prático: