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 1025, 2525, 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... |