



Olá galera do Show Delphi, tudo beleza?
Estou fazendo este post para ajudar o pessoal que estão
com problemas para enviar e-mails com o ACBrMail.
São alguns passos simples que resolveram o meu problema e espero
que possa ser útil a vocês também.
Para a configuração do G-Mail você deve habilitar algumas
opções disponíveis nos links abaixo:
* É necessário estar logado na conta do Google utilizada.
Ativar acessos ao APP
Permitir acesso a conta
E utilizei também a seguinte configuração no componente:
smtp: smtp.gmail.com
porta: 465
Username: email do gmail
Password: senha do email
setSSL: True
setTLS: True
No meu caso deu certo, lembrando que utilizei os fontes atualizados do Trunk2.
Exemplo de código de envio:
(Código retirado do demo do ACBrMail)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | procedure TForm1.bEnviarClick(Sender: TObject); var Dir, ArqXML: String; MS: TMemoryStream; P, N: Integer; begin mLog.Lines.Clear; ProgressBar1.Position := 1; Dir := ExtractFilePath(ParamStr(0)); P := pos(' - ', edSubject.Text); if P > 0 then begin N := StrToIntDef( copy(edSubject.Text, P+3, 5), 0) + 1; edSubject.Text := copy(edSubject.Text, 1, P+2) + IntToStr(N); end; ACBrMail1.Clear; ACBrMail1.IsHTML := cbUsarHTML.Checked; ACBrMail1.Subject := edSubject.Text; AjustaParametrosDeEnvio; // mensagem principal do e-mail. pode ser html ou texto puro if cbUsarTXT.Checked then ACBrMail1.AltBody.Assign( mAltBody.Lines ); if cbUsarHTML.Checked then ACBrMail1.Body.Assign( mBody.Lines ); if cbUsarHTML.Checked and cbAddImgHTML.Checked then begin // Depende de: "<img src='cid:LogoACBr'>" em ACBrMail1.Body; if Pos( 'cid:LogoACBr', ACBrMail1.Body.Text ) > 0 then ACBrMail1.AddAttachment(Dir+'acbr_logo2.png', 'LogoACBr'); end; if cbAddImgAtt.Checked then ACBrMail1.AddAttachment(Dir+'acbr_logo.jpg'); if cbAddPDF.Checked then ACBrMail1.AddAttachment(Dir+'35150905481336000137550010000111291000111298-nfe.pdf', 'DANFE'); if cbAddXML.Checked then begin MS := TMemoryStream.Create; try ArqXML := '35150905481336000137550010000111291000111298-nfe.xml'; MS.LoadFromFile(Dir + ArqXML); ACBrMail1.AddAttachment(MS, ArqXML); finally MS.Free; end; end; ACBrMail1.Send( cbUsarThread.Checked ); end; |
Esta dica formulei também com base em pesquisas no fórum do ACBr.
Fórum do ACBr
Dúvidas ou sugestões deixe nos comentários do post.
Uma abraço e até a próxima. Valeu!