no componente Indy
Ola pessoal estou tentando usar o Indy para enviar email direto d o meu programa mais no exemplo que encontrei não funciona, pois da erro no IdSMTP.Connect; No artigo ele pede para o IDSMTP da seguinte maneira. Ele pede para configurar a propriedade Host com o endereço IP ou o DNS do servidor de email.
eu gostaria de usar o hotmail, por ser gratuido e quase todo mundo ter um por causa do msn.....mais não sei nem o ip nem o dns que devo colocar nessa propriedade.....embaixo esta o codigo...acho que so esta errado nessa questão de colocar o ip ou dns.....
Obrigado....
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdMessage, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdMessageClient, IdSMTP, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
edtPara: TEdit;
edtCC: TEdit;
edtCCO: TEdit;
cbxPrioridade: TComboBox;
edtAssunto: TEdit;
cbxConfirmaLeitura: TCheckBox;
mmMensagem: TMemo;
ListBox1: TListBox;
Button1: TButton;
odAnexos: TOpenDialog;
IdSMTP: TIdSMTP;
IdMessage: TIdMessage;
Button2: TButton;
Label6: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
if odAnexos.Execute then
ListBox1.Items.Add(odAnexos.FileName);
end;
procedure TForm1.Button2Click(Sender: TObject);
var xAnexo : Integer;begin
IdMessage.Recipients.EMailAddresses := edtPara.Text;
IdMessage.CCList.EMailAddresses := edtCC.Text;
IdMessage.BccList.EMailAddresses := edtCCO.Text;
//Trata a Prioridade da mensagem
case cbxPrioridade.ItemIndex of
0 : IdMessage.Priority := mpHigh;
1 : IdMessage.Priority := mpNormal;
2 : IdMessage.Priority := mpLow;
end;
IdMessage.Subject := edtAssunto.Text;
IdMessage.Body := mmMensagem.Lines;
if cbxConfirmaLeitura.Checked then
IdMessage.ReceiptRecipient.Text := IdMessage.From.Text; // Auto Resposta
//Tratando os arquivos anexos
for xAnexo := 0 to ListBox1.Items.Count-1 do
TIdAttachment.create(idmessage.MessageParts, TFileName(ListBox1.Items.Strings[xAnexo]));
IdSMTP.Connect;try
IdSMTP.Send(IdMessage);
finally
IdSMTP.Disconnect;
end;
Application.MessageBox('Email enviado com sucesso!', 'Confirmação', MB_ICONINFORMATION + MB_OK);
end;Discussão (3)
Carregando comentários...