Fórum Envio de Email Delphi 2007 #419074

28/06/2012

0

Olá Amigos estou precisando fazer um envio de email .. e anexar um arquivo XML.. utilizo o Delphi 2007.. se algum puder ajudar .. desde ja agradeço
Eduardo

Eduardo

Responder

Posts

28/06/2012

Nbs Ltda

Use o componente TIdSMTP para realizar o envio, ele utilizado do protocolo SMTP o mesmo que é utilizado para o envio de e-mail em serviços de e-mail, e para anexar o seu XML utiliza a classe TAtachament (eu acho que é assim que escreve), nela você adiciona vários arquivos para o envio.

Vauder Nascimento
NBS - Inovações em Sistemas
Responder

Gostei + 0

02/07/2012

Eduardo

Bom .. com email do Yahoo que nao exige autenticação SLL .. ele envia tranquilo..
agora com o GMAIL.. que exige ele da o seguinte erro .. EIdOSSLCouldNotLoadSSLLibrary.. Could not load SSL
UTilizo delphi 2007 indy 10 ?.. acredito que seja a versão da DLL.. mas baixei um monte e sempre da esse erro se algum puder ajudar agradeço


function TFConCartaCorrecao.EnvEmail(aHost : String; aPort : Integer; aLogin, aSenha,aListaEmail, aAssunto, aCorpo : String; aAuth, aAuthSSL : Boolean;xmlCartaCorrecao:String) : Boolean;
var
AuthSSL : TIdSSLIOHandlerSocketOpenSSL;
IdSMTP : TIdSMTP;
IdMessage : TIdMessage;
// ArquivoXML: String;

begin

Result:= False;
IdSMTP := TIdSMTP.Create(nil);
IdMessage := TIdMessage.Create(nil);
try
IdSMTP.Host := aHost;
IdSMTP.Port := aPort;
IdSMTP.AuthType := atDefault;
IdSMTP.Username := aLogin;
IdSMTP.Password := aSenha;
if aAuthSSL then
begin
AuthSSL := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
//IdSMTP.IOHandler := AuthSSL;
IdSMTP.IOHandler := AuthSSL;
IdSMTP.UseTLS := utUseRequireTLS;//utUseImplicitTLS;
AuthSSL.SSLOptions.Method := sslvSSLv3;//sslvSSLv2;//sslvSSLv3;
AuthSSL.SSLOptions.Mode := sslmClient;
end;
if aAuth then
IdSMTP.AuthType := atDefault
else
IdSMTP.AuthType := atNone;
try
IdSMTP.Connect;


IdMessage.From.Address := aLogin;
IdMessage.Recipients.EMailAddresses := aListaEmail;
IdMessage.Subject := aAssunto;
IdMessage.Body.Text:= Data/Hora: + FormatDateTime(dd/MM/yyyy HH:mm:ss, Now) +
#13#10#13#10 +
aCorpo;

IdMessage.Body.SaveToFile(xmlCartaCorrecao);
IdMessage.MessageParts.Clear; // Limpa os anexos da lista
TIdAttachmentFile.Create(IdMessage.MessageParts, TFileName(Conf.pathNFXML+\..\CCEXML\+ xmlCartaCorrecao + .xml)); // adiciona anexo na lista, pode ser utilizado com looping


IdSMTP.Send(IdMessage);
Sleep(1000);
ShowMessage(E-Mail Enviado com sucesso para: + aListaEmail);
except
on E: Exception do
begin
ShowMessage(Erro ao enviar E-Mail:+#13#10+e.Message);
Exit;
end;
end;
finally
IdSMTP.Disconnect;
FreeAndNil(IdSMTP);
FreeAndNil(IdMessage);
if AuthSSL <> nil then
FreeAndNil(AuthSSL);
end;
Result:= True;
end


Responder

Gostei + 0

03/07/2012

Nbs Ltda

Coloque na pasta do seu aplicativo as seguintes DLLs, libeay32.dll e ssleay32.dll se não funcionar coloque na system32 para testar qualquer coisa post ai..


Vauder Nascimento
NBS - Inovações em Sistemas
Responder

Gostei + 0

19/07/2012

Valdecir Francisco

Ola, amigo. Tenho o programa que envia e recebe email pelo delphi.
mande seu email para contato.
Até
valdeciranalistati@hotmail.com
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar