Mauro Jr Postado Janeiro 29, 2004 Denunciar Share Postado Janeiro 29, 2004 E aí gurizada,Tenho uma lista de e-mails em um DBLooKup e em um DBGrid. A minha dúvida é a seguinte: Como faço para enviar um e-mail para um dos registros da lista .E se eu tiver um DBEdit com um enderço de e-mail, como faço para enviar um e-mail para este endereço?Espero que alguém possa explicar minhar dúvidas ou parte delas!Abraços,Mauro Junior Link para o comentário Compartilhar em outros sites More sharing options...
0 bolomaster Postado Janeiro 29, 2004 Denunciar Share Postado Janeiro 29, 2004 cara vou colocar aqui o nosso artigo anterio sobre envio de emails quem sabe pode ajudar você agora se não ajudar você grita ai q ajudamos O Dilema do envio de e-mail Um grande dilema pelo qual passei foi o envio de e-mail´s por programas feitos em Delphi. Os detalhes do problema seguem abaixo: - Fiz um programa para um cliente que tinha como opção o envio de relatórios por e-mail; - Todo o processo estava pronto e funcionando perfeitamente; - Quando passei para o cliente nada funcionou! Isso me deixou muito confuso, no meu computador continuava a funcionar perfeitamente! Como "todos" sabem precisamos configurar o NMSMTP com um servidor smtp (host) para o envio de e-mail´s. No meu caso estava usando UOL e sendo assim eu estava usando o SMTP.UOL.COM.BR como Host. Só que o meu cliente não usa UOL. E esse aparentemente era o problema. Não encontrei a solução sozinho e pedi ajuda a vários colegas programadores o qual um me respondeu da seguinte maneira: "Se eu não me engano, no Uol você deve primeiro baixar as mensagens para que depois ele deixe você enviar, ou seja, para poder enviar mensagens, você precisa estar autenticado la no UOL. Espero ter ajudado. Abraços, Fernando Gonçalves," Foi só isso que precisei para resolver todo o "Dilema". Só precisaria me identificar no POP3 do UOL que estaria tudo resolvido. Então eu fiz: - Coloquei um componente NMPOP3 e antes dos comandos do NMSMTP eu coloquei esses do NMPOP3: //Processo de reconhecimento no POP3 do UOL NMPOP31.AttachFilePath := '.'; NMPOP31.DeleteOnRead := FALSE; NMPOP31.ReportLevel := Status_Basic; NMPOP31.TimeOut := 20000; NMPOP31.Host := 'pop3.uol.com.br'; NMPOP31.Port := 110; NMPOP31.UserID := 'MeuLogin'; NMPOP31.Password := 'Minha Senha'; 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.uol.com.br' NMSMTP1.Port := 25; NMSMTP1.UserID := 'MeuLogin' 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 := 'MeuLogin@MeuProvedor.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('destino@DestinoProvedor.com.br'); NMSMTP1.SendMail; Depois de estabelecer a conexão com o POP3 do UOL o envio pelo SMTP do UOL ficou liberado não importando em que provedor eu estivesse conectado. No meu caso eu pude usar POP3 e SMTP do UOL pois sou assinante do UOL, porém você 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! por: Levy Dos Santos Teixeira ok espero ter ajudado Link para o comentário Compartilhar em outros sites More sharing options...
0 Mauro Jr Postado Fevereiro 3, 2004 Autor Denunciar Share Postado Fevereiro 3, 2004 cara vou colocar aqui o nosso artigo anterio sobre envio de emails quem sabe pode ajudar você agora se não ajudar você grita ai q ajudamos O Dilema do envio de e-mail Um grande dilema pelo qual passei foi o envio de e-mail´s por programas feitos em Delphi. Os detalhes do problema seguem abaixo: - Fiz um programa para um cliente que tinha como opção o envio de relatórios por e-mail; - Todo o processo estava pronto e funcionando perfeitamente; - Quando passei para o cliente nada funcionou! Isso me deixou muito confuso, no meu computador continuava a funcionar perfeitamente! Como "todos" sabem precisamos configurar o NMSMTP com um servidor smtp (host) para o envio de e-mail´s. No meu caso estava usando UOL e sendo assim eu estava usando o SMTP.UOL.COM.BR como Host. Só que o meu cliente não usa UOL. E esse aparentemente era o problema. Não encontrei a solução sozinho e pedi ajuda a vários colegas programadores o qual um me respondeu da seguinte maneira: "Se eu não me engano, no Uol você deve primeiro baixar as mensagens para que depois ele deixe você enviar, ou seja, para poder enviar mensagens, você precisa estar autenticado la no UOL. Espero ter ajudado. Abraços, Fernando Gonçalves," Foi só isso que precisei para resolver todo o "Dilema". Só precisaria me identificar no POP3 do UOL que estaria tudo resolvido. Então eu fiz: - Coloquei um componente NMPOP3 e antes dos comandos do NMSMTP eu coloquei esses do NMPOP3: //Processo de reconhecimento no POP3 do UOL NMPOP31.AttachFilePath := '.'; NMPOP31.DeleteOnRead := FALSE; NMPOP31.ReportLevel := Status_Basic; NMPOP31.TimeOut := 20000; NMPOP31.Host := 'pop3.uol.com.br'; NMPOP31.Port := 110; NMPOP31.UserID := 'MeuLogin'; NMPOP31.Password := 'Minha Senha'; 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.uol.com.br' NMSMTP1.Port := 25; NMSMTP1.UserID := 'MeuLogin' 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 := 'MeuLogin@MeuProvedor.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('destino@DestinoProvedor.com.br'); NMSMTP1.SendMail; Depois de estabelecer a conexão com o POP3 do UOL o envio pelo SMTP do UOL ficou liberado não importando em que provedor eu estivesse conectado. No meu caso eu pude usar POP3 e SMTP do UOL pois sou assinante do UOL, porém você 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! por: Levy Dos Santos Teixeira ok espero ter ajudado Valeu parceiro! Agradeço a atenção!Um amigo mostrou-me uma outra forma que também funciona (é através da Mapi). Eis aqui um exemplo:unit Unit1;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls,Mapi;type TForm1 = class(TForm) GroupBox1: TGroupBox; Label1: TLabel; EditOrigem: TEdit; EditDestino: TEdit; Label2: TLabel; Label3: TLabel; EditAssunto: TEdit; Bevel1: TBevel; MemoMensagem: TMemo; Label4: TLabel; EditAnexo: TEdit; Panel1: TPanel; Button1: TButton; Bevel2: TBevel; Label5: TLabel; procedure Button1Click(Sender: TObject); function EnviarEmail(const de,para,assunto,texto,arquivo:string;confirma:boolean):integer; private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);begin EnviarEmail(EditOrigem.Text,EditDestino.Text,EditAssunto.Text,MemoMensagem.Text,EditAnexo.Text,true);end;function Tform1.EnviarEmail(const de,para,assunto,texto,arquivo:string;confirma:boolean):integer;var Msg : TMapiMessage; lpSender, lpRecepient : TMapiRecipDesc; FileAttach : TMapiFileDesc; SM : TFNMapiSendMail; MapiModule : HModule; Flags : Cardinal;begin //Propriedade de Mensagem FillChar(Msg,SizeOf(Msg),0); with Msg do begin if (Assunto <> '') then lpszSubject := PChar(Assunto); if (Texto <> '') then lpszNoteText := PChar(Texto); //Remetente if (De <> '') then begin lpSender.ulRecipClass := Mapi_Orig; lpSender.lpszName := PChar(De); lpSender.lpszAddress := PChar(De); lpSender.ulReserved := 0; lpSender.ulEIDSize := 0; lpSender.lpEntryID := nil; lpOriginator := @lpSender; end; //Destinatário if (Para <> '') then begin lpRecepient.ulRecipClass := Mapi_To; lpRecepient.lpszName := PChar(Para); lpRecepient.lpszAddress := PChar(Para); lpRecepient.ulReserved := 0; lpRecepient.ulEIDSize := 0; lpRecepient.lpEntryID := nil; nRecipCount := 1; lpRecips := @lpRecepient; end else lpRecips := nil; //Arquivo anexo if (Arquivo = '') then begin nFileCount := 0; lpFiles := nil; end else begin FillChar(FileAttach,SizeOf(FileAttach),0); FileAttach.nPosition := Cardinal($FFFFFFFF); Fileattach.lpszPathName := PChar(Arquivo); nFileCount := 1; lpFiles := @FileAttach; end; //Carrega a dll e o método para envio do email showmessage(PChar(MapiDll)); MAPIModule := LoadLibrary(PChar(MapiDll)); if MAPIModule = 0 then Result := -1 else try if Confirma then Flags := MAPI_Dialog or MAPI_Logon_Ui else Flags := 0; @SM := GetProcAddress(MAPIModule,'MAPISendMail'); if @SM <> nil then Result := SM(0,Application.Handle,Msg,Flags,0) else Result := 1; finally FreeLibrary(MAPIModule); end; end;end;end.Abraços,Mauro Junior Link para o comentário Compartilhar em outros sites More sharing options...
0 bolomaster Postado Fevereiro 3, 2004 Denunciar Share Postado Fevereiro 3, 2004 bem problema resolvido estou fechando o tópico abraços Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Mauro Jr
E aí gurizada,
Tenho uma lista de e-mails em um DBLooKup e em um DBGrid.
A minha dúvida é a seguinte: Como faço para enviar um e-mail para um dos registros da lista .
E se eu tiver um DBEdit com um enderço de e-mail, como faço para enviar um e-mail para este endereço?
Espero que alguém possa explicar minhar dúvidas ou parte delas!
Abraços,
Mauro Junior
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados