Como configurar o envio de e-mail com o GMail no ACBrMail?
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; |
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!
-
InfusTec
-
21.299 views
- 0 comentários
- 19 de outubro de 2015
Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!
Posts Relacionados - Continue Aprendendo