Como envio um e-mail no Outlook pelo Delphi
Gostaria de saber como faço para chamar um e-mail no outlook pelo delphi e a caixa do outlook de ´Nova Mensagem´ ser preenchida os campos ´PARA´, ´ASSUNTO´ e também para o corpo da mensagem poder ser preenchido a partir de dados digitados em um Memo.
Agradeço qualquer tipo de ajuda.
Agradeço qualquer tipo de ajuda.
Cal_trota
Curtidas 0
Respostas
Okama
09/05/2003
Adicionde a Unit ShellApi,
ShellExecute(Handle,´open´,pchar(´mailto:´+EditPara.text+
´?subject=´+EditAssunto.text),
nil,´´,Sw_ShowNormal);
ShellExecute(Handle,´open´,pchar(´mailto:´+EditPara.text+
´?subject=´+EditAssunto.text),
nil,´´,Sw_ShowNormal);
GOSTEI 0
Cal_trota
09/05/2003
Gostaria de saber como faço para chamar um e-mail no outlook pelo delphi e a caixa do outlook de ´Nova Mensagem´ ser preenchida os campos ´PARA´, ´ASSUNTO´ e também para o corpo da mensagem poder ser preenchido a partir de dados digitados em um Memo. Quero saber alem de enviar para o Destinatario e o Assunto, Preciso tambem de saber como envio um texto de um campo MEMO para o ´CORPO DA MENSAGEM´ no Outlook
Agradeço qualquer tipo de ajuda.
GOSTEI 0
Marcelo.c
09/05/2003
Dê uma olhada nesta dica da DTDelphi:
240 - Enviar um email
smtp.postmessage.toAddress := ´StringList (por ex uma listbox´;
smtp.postmessage.FromAdreess := ´ex: meu_email@123.pt´;
smtp.userid := ´ex: user@123.pt´
smtp.host := ´ex: smtp@123.pt´
smtp.postmessage.subject := ´Assunto´
smtp.postmessage.body := ´Texto da mensagem (stringlist)´
smtp.connect;
smtp.sendmail;
smtp.disconnect;
Contribuição:
O Anonymous.nick enviou um complemento explicando melhor o procedimento para enviar um e-mail usando o Delphi.
Fazer um aplicativo completo para manipulação de e-mails é um tanto trabalhoso e não é o assunto desta dica. Muitas vezes, porém, queremos apenas dar ao nosso software a capacidade de enviar simples e-mails. Isto é fácil, especialmente porque o Delphi5 nos oferece o componente TNMSMTP (paleta FastNet) que faz praticamente todo o trabalho para nós. Precisamos apenas alterar algumas propriedades e chamar alguns métodos para que a mensagem seja enviada. Vamos para a prática:
1. Coloque um componente TNMSMTP no form.
2. Coloque um botão e no evento OnClick deste botão escreva:
procedure TForm1.Button1Click(Sender: TObject);
begin
{ Seu servidor SMTP }
NMSMTP1.Host := ´smtp.servidor.com.br´;
{ Porta SMTP, **NÃO MUDE ISTO** }
NMSMTP1.Port := 25;
{ Nome de login do usuário }
NMSMTP1.UserID := ´MeuLogin´;
{ Conecta ao servidor }
NMSMTP1.Connect;
{ Se ocorrer algum erro durante a conexão com o servidor, avise! }
if not NMSMTP1.Connected then
raise Exception.Create(´Erro de conexão´);
with NMSMTP1.PostMessage do begin
{ Seu e-mail }
FromAddress := ´meuemail@meuserver.com.br´;
{ Seu nome }
FromName := ´Meu Nome´;
{ E-mail do destinatário }
ToAddress.Clear;
ToAddress.Add(´destinatario@servidor.com.br´);
{ Assunto da mensagem }
Subject := ´Assunto da mensagem´;
{ Corpo da mensagem }
Body.Clear;
Body.Add(´Primeira linha da mensagem´);
Body.Add(´Segunda linha da mensagem´);
Body.Add(´´); { Linha em branco }
Body.Add(´Última linha da mensagem´);
{ Anexar arquivos(Se não quiser anexar arquivos, apague as 3 linhas seguintes) }
Attachments.Clear;
{ Endereço do anexo }
Attachments.Add(´c:\diretorio\arquivo.ext´);
end;
{ Manda o e-mail }
NMSMTP1.SendMail;
{ Disconecta do servidor }
NMSMTP1.Disconnect;
end;
Pronto! É só fazer as adaptações necessárias e você terá envio de e-mails em sua aplicação.
Observações:
Para enviar o mesmo e-mail para vários destinatário de uma só vez basta adicionar os endereços de e-mails de todos os destinatários em NMSMTP1.PostMessage.ToAddress.
240 - Enviar um email
smtp.postmessage.toAddress := ´StringList (por ex uma listbox´;
smtp.postmessage.FromAdreess := ´ex: meu_email@123.pt´;
smtp.userid := ´ex: user@123.pt´
smtp.host := ´ex: smtp@123.pt´
smtp.postmessage.subject := ´Assunto´
smtp.postmessage.body := ´Texto da mensagem (stringlist)´
smtp.connect;
smtp.sendmail;
smtp.disconnect;
Contribuição:
O Anonymous.nick enviou um complemento explicando melhor o procedimento para enviar um e-mail usando o Delphi.
Fazer um aplicativo completo para manipulação de e-mails é um tanto trabalhoso e não é o assunto desta dica. Muitas vezes, porém, queremos apenas dar ao nosso software a capacidade de enviar simples e-mails. Isto é fácil, especialmente porque o Delphi5 nos oferece o componente TNMSMTP (paleta FastNet) que faz praticamente todo o trabalho para nós. Precisamos apenas alterar algumas propriedades e chamar alguns métodos para que a mensagem seja enviada. Vamos para a prática:
1. Coloque um componente TNMSMTP no form.
2. Coloque um botão e no evento OnClick deste botão escreva:
procedure TForm1.Button1Click(Sender: TObject);
begin
{ Seu servidor SMTP }
NMSMTP1.Host := ´smtp.servidor.com.br´;
{ Porta SMTP, **NÃO MUDE ISTO** }
NMSMTP1.Port := 25;
{ Nome de login do usuário }
NMSMTP1.UserID := ´MeuLogin´;
{ Conecta ao servidor }
NMSMTP1.Connect;
{ Se ocorrer algum erro durante a conexão com o servidor, avise! }
if not NMSMTP1.Connected then
raise Exception.Create(´Erro de conexão´);
with NMSMTP1.PostMessage do begin
{ Seu e-mail }
FromAddress := ´meuemail@meuserver.com.br´;
{ Seu nome }
FromName := ´Meu Nome´;
{ E-mail do destinatário }
ToAddress.Clear;
ToAddress.Add(´destinatario@servidor.com.br´);
{ Assunto da mensagem }
Subject := ´Assunto da mensagem´;
{ Corpo da mensagem }
Body.Clear;
Body.Add(´Primeira linha da mensagem´);
Body.Add(´Segunda linha da mensagem´);
Body.Add(´´); { Linha em branco }
Body.Add(´Última linha da mensagem´);
{ Anexar arquivos(Se não quiser anexar arquivos, apague as 3 linhas seguintes) }
Attachments.Clear;
{ Endereço do anexo }
Attachments.Add(´c:\diretorio\arquivo.ext´);
end;
{ Manda o e-mail }
NMSMTP1.SendMail;
{ Disconecta do servidor }
NMSMTP1.Disconnect;
end;
Pronto! É só fazer as adaptações necessárias e você terá envio de e-mails em sua aplicação.
Observações:
Para enviar o mesmo e-mail para vários destinatário de uma só vez basta adicionar os endereços de e-mails de todos os destinatários em NMSMTP1.PostMessage.ToAddress.
GOSTEI 0
Cal_trota
09/05/2003
[quote:517074d5c9=´cal_trota´]Muito obrigado pela ajuda mas o que preciso mesmo e realizar este processo descrito acima, porem pelo Outlook Express.
Agradeço qualquer tipo de ajuda.
[/quote:517074d5c9]GOSTEI 0
Elison Faria
09/05/2003
Adicionde a Unit ShellApi,
Assim você incluir também a mensagem do e-mail
ShellExecute(Handle,´open´,pchar(´mailto:´+EditPara.text+
´?subject=´+EditAssunto.text + ' &body=' + Memo1.Lines.text ), nil,´´,Sw_ShowNormal);
Assim você incluir também a mensagem do e-mail
ShellExecute(Handle,´open´,pchar(´mailto:´+EditPara.text+
´?subject=´+EditAssunto.text + ' &body=' + Memo1.Lines.text ), nil,´´,Sw_ShowNormal);
GOSTEI 0