Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

flavioavilela

e-mail delphi 2007

Recommended Posts

bom dia a todos..

vi um artigo escrito pelo marchio theis, o moderador aqui do forum, ensinando como enviar e-mail pelo delphi... estou tentando fazer o mesmo no delphi 2007, só que, quando vou enviar, da a mensagem de erro 'socket Error # 10060 Connection timed out.'.. alguém conseguiu ou sabe o que isso quer dizer? e como solucionar esse problema???

Compartilhar este post


Link para o post
Compartilhar em outros sites

timeout é quando seu pc passa mais de 2 minutos (geralmente mas não sempre) esperando resposta do computador remoto mas não recebe nada, tenta pingar a url do servidor smtp...

Compartilhar este post


Link para o post
Compartilhar em outros sites

procedure TDmC.EnviaEmail(Para, Assunto: string; Corpo: string; Arquivos: array of string);
var
  mesgMessage: TIdMessage;
  smtpSendMail: TIdSMTP;

  IdSSLIOHandlerSocketOpenSSL: TIdSSLIOHandlerSocketOpenSSL;
  i: Integer;
  Anexo: TIdAttachmentFile;

  function CorpoEmBr : string;
  var
	Aux : string;
  begin
	Aux := Corpo;
	while pos(#13, Aux) > 0 do
	  Aux := Copy(Aux, 1, pos(#13, Aux) - 1) + '<BR>' + Copy(Aux, pos(#13, Aux) + 1, length(aux));
	result := aux;
  end;

begin
  Screen.Cursor := crHourglass;
  mesgMessage := TIdMessage.Create;
  //mesgMessage.Headers.Values['X-Library']:='';
  mesgMessage.Encoding := meMIME;
  mesgMessage.ConvertPreamble := true;
  mesgMessage.AttachmentEncoding := 'MIME';
  mesgMessage.MessageParts.Clear;
  mesgMessage.From.Address := 'Seu Email aqui';
  mesgMessage.Recipients.EMailAddresses := Trim(Para);
  mesgMessage.Subject := Trim(Assunto);
  mesgMessage.Body.Clear;
 // mesgMessage.ContentType := 'html/text';
  mesgMessage.ContentType := '';
 // mesgMessage.Body.Add('<font face="Arial" size=4 color=#003300>');
  mesgMessage.Body.Add(CorpoEmBr);
//  mesgMessage.Body.Add('</font>');

  mesgMessage.Priority := mpHighest;

  if Length(Arquivos) > 0 then
	for i := 0 to Length(Arquivos) - 1 do
	  if FileExists(Arquivos[i]) then
	  begin
		Anexo := TIdAttachmentFile.Create(mesgMessage.MessageParts, Arquivos[i]);
//		Anexo.ContentType :=;
//		Anexo.ContentTransfer := 'binary';
//		Anexo.ContentDisposition := 'inline';
//		Anexo.ContentID := '<123456' + IntToStr(i) +'>';
//		Anexo.ParentPart := 1;
	  end;

  smtpSendMail := TIdSMTP.Create(nil);
  if not smtpSendMail.Connected then
  begin
	IdSSLIOHandlerSocketOpenSSL := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
	smtpSendMail.IOHandler := IdSSLIOHandlerSocketOpenSSL;
	smtpSendMail.Host := 'smtp.gmail.com';
	smtpSendMail.Port := 465;
	smtpSendMail.UseTLS := utUseExplicitTLS;
	smtpSendMail.AuthType := atDefault;
	smtpSendMail.Username := 'Seu Email Aqui';
	smtpSendMail.Password := 'Sua Senha';
	smtpSendMail.Connect;



  end;

  try
	smtpSendMail.Send(mesgMessage);
  finally
	FreeAndNil(mesgMessage);
	FreeAndNil(smtpSendMail);
	FreeAndNil(IdSSLIOHandlerSocketOpenSSL);
  end;
  Screen.Cursor := CrDefault;
end;

Tente usar esse esquema aqui para ver se da certo

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.