Internet - enviando um email

Top  Previous  Next

// Enviando um email.... TESTADO POR JUNIOR EM 05/02/2002

 

uses NMsmtp;

 

// Função para enviar e-mail

procedure TForm1.EnviarEMail(const MailTo: string);

var

  MailObj: TNMSmtp;

begin

  MailObj := TNMSMTP.Create(Self);

  try

    MailObj.Host := 'smtp.mail.yahoo.com.br'// Seu servidor SMTP

    with MailObj.PostMessage do

    begin

      FromAddress := 'flaviojr77@yahoo.com.br';

      FromName    := 'Flavio Junior';

      Subject     := 'Delphi Teste';

      ToAddress.Add( MailTo );

      // Attachments.Add( 'C:\Deptsetr.lst' );  // Arquivo Atachado, se quiser

      Body.Add( 'Texto do E-Mail gerado pelo Delphi...' );

    End;

    MailObj.Connect;

    MailObj.SendMail;

    MailObj.Disconnect;

  finally

    MailObj.Free;

  end;

end;

 

procedure TForm1.Button1Click(Sender: TObject);

begin

  EnviarEMail('junior@market.com.br');

  ShowMessage('Concluído');

end;

 

///--------------------- EXEMPLO 2 ---------------------------------

 

// Coloquei um componente NMPOP3 e antes dos comandos do 

// NMSMTP eu coloquei esses do NMPOP3:

 

procedure TForm1.Button1Click(Sender: TObject);

begin

  //Processo de reconhecimento no POP3 do UOL

  NMPOP31.AttachFilePath := '.';

  NMPOP31.DeleteOnRead   := False;

  NMPOP31.ReportLevel    := Status_Basic;

  NMPOP31.TimeOut        := 20000;

  NMPOP31.Host           := 'pop.mail.yahoo.com.br';

  NMPOP31.Port           := 110;

  NMPOP31.UserID         := 'flaviojr77';

  NMPOP31.Password       := 'animal';

  NMPOP31.Connect;

  //Conexão não feita ele sai

  //Conexão feita ele desconecta e prossegue

  if not NMPOP31.Connected then exit else NMPOP31.Disconnect;

  //Prosseguindo ele agora tenta se conectar ao SMTP do UOL

  NMSMTP1.ClearParams := True;

  NMSMTP1.Host        := 'smtp.mail.yahoo.com.br';

  NMSMTP1.Port        := 25;

  NMSMTP1.UserID      := 'flaviojr77';

  NMSMTP1.Connect;

  //Conexão não feita ele sai

  //Conexão feita ele prossegue

  If not NMSMTP1.Connected then exit;

  //Processo de envio

  NMSMTP1.PostMessage.Body.Clear;

  NMSMTP1.PostMessage.ToAddress.Clear;

  NMSMTP1.PostMessage.FromAddress := 'flaviojr77@yahoo.com.br';

  NMSMTP1.PostMessage.FromName    := 'Meu Nome Completo';

  NMSMTP1.PostMessage.Body.Add('Teste de envio de email');

  NMSMTP1.PostMessage.Subject     := 'Teste de Envio';

  NMSMTP1.PostMessage.ToAddress.Add('junior@market.com.br');

  NMSMTP1.SendMail;

 

  ShowMessage('Concluído');

end;

 

// Depois de estabelecer a conexão com o POP3 do YAHOO o envio 

// pelo SMTP do YAHOO ficou liberado não importando em que 

// provedor eu estivesse conectado.

 

// No meu caso eu pude usar POP3 e SMTP do YAHOO pois sou 

// assinante do UOL, porém vc pode simplesmente criar um e-mail 

// no IG, IEG ou outro serviço de e-mail grátis e 

// pronto é só utilizar a dica!!

 

// Obs.: Nem todos os e-mail´s grátis tem serviço POP3!

 

--------------------------- LEIA -------------------------

 

se você possui windows 2000, basta instalar o SMTP do windows e startar o

serviço... abra o "painel de controle", "adicionar/remover programas",

"componentes do windows"... localiza "internet information services", marca

o "servidor SMTP"... tem tanto no W2K Server quanto no Professional...

depois de instalar, clique em "painel de controle", "ferramentas

administrativas", "internet information services", exande o seu servidor e

lá você vai encontrar "default virtual SMTP Server"... clique com o botão

direito sobre ele... escolha propriedades e tente mudar a porta padrão do

serviço de 25 para outro valor não utilizado, como 10252525, etc... isto

serve para você não ficar recebendo e-mails na porta 25, que é a padrão...

 

entre no Outlook Express e configure uma nova conta, com o POP3 para um

servidor qualquer (vc não vai utilizar) e com o SMTP para o IP do servidor

que você configurou o "Virtual SMTP Server"... preencha seus dados, e tal...

e conclua... no outlook, abra "Ferramentas", "Contas" e edite a nova

conta... mude a porta SMTP desta conta para a porta configurada pro SMTP...

 

tendo certeza de que o serviço SMTP esteja funcionando, crie uma nova

mensagem, selecione a conta de envio para a que você criou e escolha um

destinatário externo, como seu.email@yahoo.com.... aguarde um instante e

verifique se recebeu o e-mail...

 

desta forma o próprio windows se conecta ao destinatário de e-mail... ou

seja:

 

com um SMTP externo (iG, por exemplo): você manda uma mensagem de 200kb para

20 pessoas... quando o e-mail sai de seu computador, vai direto para o SMTP

do iG, e quando chega lá, o iG se conecta um por um para mandar o e-mail

para as 20 pessoas... com o SMTP local, você manda a mesma mensagem para 20

pessoas, e ela sairá uma-por-uma direto pro servidor de mensagens do

destinatário...

 

daê, na sua aplicação delphi é só colocar o IP do SMTP local e a porta

escolhida e pronto...