Hola compañeros un amigo me ha enviado el siguiente código que funciona bien, el problema de los anteriores según me comenta, es el envió adjunto de archivos.
Este código fue bajado de
http://www.planetadelphi.com.br/
este es el código, sólo falta el envío de adjuntos.
[DELPHI]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes,
Graphics, Controls, Forms,
Dialogs,IdComponent, IdTCPConnection, IdTCPClient,
IdMessageClient, IdSMTP, IdBaseComponent,
IdMessage, IdPOP3, StdCtrls;
{IdComponent, IdTCPConnection, IdTCPClient,
IdMessageClient, IdSMTP, IdBaseComponent,
IdMessage, IdPOP3}
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
Edit2: TEdit;
Memo1: TMemo;
Label1: TLabel;
Label2: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure EMail_Enviar(Portam : Integer; Hostm:
String; UserNamem: String; Passwordm : String;
Destinatariom : String; Assuntom : String; Mensagemm :
TMemo; EMail_Remetentem: String;
Mensagem_Confirmacao : Boolean);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
function EnviarEmail(aData, aHora : TDateTime; aHost,
aLogin, aSenha,
aListaEmail, aAssunto, aCorpo : String) : Boolean;
var
IdSMTP : TIdSMTP;
IdMessage : TIdMessage;
Cabecalho: string;
begin
Cabecalho:= '';
Result:= False;
IdSMTP := TIdSMTP .Create(nil);
IdMessage := TIdMessage.Create(nil);
try
IdSMTP.Host:= aHost;
IdSMTP.AuthType:= satDefault;
IdSMTP.Username:= aLogin;
IdSMTP.Password:= aSenha;
IdSMTP.Connect;
IdMessage.From.Address:= aLogin;
IdMessage.Recipients.EMailAddresses:= aListaEmail;
IdMessage.Subject:= aAssunto;
IdMessage.Body.Text:=
'Data: '+DateToStr(aData)+#13#10+
'Hora: '+TimeToStr(aHora)+#13#10+ aCorpo;
IdMessage.MessageParts.Clear;
try
IdSMTP.Send(IdMessage);
except
on E: Exception do
begin
MessageDlg('Erro ao tentar enviar este e-
mail'+#13#10+e.Message,mtWarning,[mbok],0);
Exit;
end;
end;
finally
IdSMTP .Disconnect;
IdSMTP .Free;
IdMessage.Free;
end;
Result:= True;
end;
begin //Servido Email Correo Origen
Clave Origen Correo Destino Asunto
Mensaje
EnviarEmail(Date,Time,
'smtp.eresmas.com','
Desart@eresmas.com','2310',
'
Desart@misabueso.com','Evido de email','Enviando email
via programa��o utilizando os recursos da poderosa
paleta indy');
end;
procedure TForm1.EMail_Enviar(Portam : Integer; Hostm:
String; UserNamem: String; Passwordm : String;
Destinatariom : String; Assuntom : String;
Mensagemm : TMemo; EMail_Remetentem: String;
Mensagem_Confirmacao : Boolean);
Var Message_ : TidMessage;
IdSMTP_ : TIdSMTP;
begin
IdSMTP_ := TIdSMTP.Create(Application);
IdSMTP_.Port := Portam;
IdSMTP_.AuthType := satDefault;
IdSMTP_.Host := Hostm;
IdSMTP_.Username := UserNamem;
IdSMTP_.Password := Passwordm;
IdSMTP_.Connect;
If (IdSMTP_.Connected = False) Then
Begin
ShowMessage('Falha na conex�o!');
IdSMTP_.Disconnect;
Exit;
End;
try
Message_ := TidMessage.Create(Application);
Message_.Recipients.EMailAddresses :=
Destinatariom; // EMail destinatario
Message_.Subject := Assuntom; //
Assunto
Message_.Body := Mensagemm.Lines;
// Mensagem que ser� enviada
Message_.From.Address :=
EMail_Remetentem; // Email do Remetente
IdSMTP_.Send(Message_);
finally
IdSMTP_.Disconnect;
Application.ProcessMessages;
end;
If (Mensagem_Confirmacao = True) Then
ShowMessage('Enviado com sucesso!');
Message_.Free;
IdSMTP_.Free;
end;
// Declare no Uses IdMessage, IdSMTP
// USE ASSIM:
// EMail_Enviar(Porta (normalmente usada a 25),
//'SMTP do E-Mail do servidor - smtp.servidor.com.br',
//'Sua conta de email - usu�rio',
//'Sua conta de email - senha',
//'
email@destinatario.com.br',
//'Assunto da mensagem',
//Nome do Memo com o corpo da mensagem ex:Memo1,
//'
email@remetente.com.br',
//Se ser� exibido mensagem de confirma��o de envio ou
n�o = False ou True);
procedure TForm1.Button2Click(Sender: TObject);
begin
EMail_Enviar
(25,'smtp.eresmas.com','
Desart@eresmas.com','XXXXXX',Edi
t1.Text,Edit2.Text,Memo1,'
desart@clubdelphi.com',false)
;
// Portam : Puerto del envió
//Hostm:Servidor,
// UserNamem: Correo de envió
// Passwordm : Clave correo envío
//Destinatariom : Correo a quien se envía
//Assuntom :Asunto
// Mensagemm : Mensaje
// EMail_Remetentem: Donde mandar el mensaje si falla
//Mensagem_Confirmacao : Si nos avisa del resultado del envió
end;
end.
[/DELPHI]
Hola compañeros repito el mensaje de arriba ya que como siempre me ha dado problemas al colgarlo en CROme