Ir para conteúdo
Fórum Script Brasil
  • 0

Envia E-mail's


Teaga.txt

Pergunta

16 respostass a esta questão

Posts Recomendados

  • 0

Olá tenta esse código aqui

procedure Tfm_clientes.BitBtn3Click(Sender: TObject);

var mail : String;

begin

if DBEdit12.Text = '' then //DBEdit12.Text é o nome do campo no meu form

begin

Beep;

Showmessage('Verifique o seu endereço de e-mail !!!');

end

else

begin

Mail := ('mailto:') + DBEdit12.Text;

ShellExecute(GetDesktopWindow,'open',pchar(Mail),nil,nil,sw_ShowNormal);

end;

end;

Link para o comentário
Compartilhar em outros sites

  • 0

Caro amigo,

Estou com um problemao que nem mesmo pelo que vi o moderador dste forum sabe resolve-lo. Poderia me ajudar?

Tento envio um e-mail com comandos html via delphi, so que quando abro o e-mail enviado aparece o script, ou seja, o codigo html.

Como posso enviar o e-mail sem que isso não aconteca?

Agradeco sua ajuda!

Felipeee.

Link para o comentário
Compartilhar em outros sites

  • 0

então vamus lá!

Vo só copia e colar aqui... (Esse saiu do Site www.delphi.eti.br, se quiser da uma passada lá tem mais alguns tutoriais)

Enviando email’s com componentes Indy 
Por Marcos P. Gomes 

Salve amigos e amigas, neste pequeno artigo vamos fazer um sistema de envio de email usando componentes Indy. 

O uso destes componentes é muito simples e prático, como podemos confirmar abaixo. 

Crie uma nova Application no delphi, adicione e modifique a propriedades dos seguintes componentes. 

Componentes
Nome 
Valor 

Label1 
Caption 
Para : 

Label2 
Caption 
CC : 

Label3 
Caption 
CCO : 

Label4 
Caption 
Assunto 

Edit1 
Text 
Name 
EdtPara 

Edit2 
Text 
Name 
EdtCC 

Edit3 
Text 
Name 
EdtCCO 

Label 
Caption 
Prioridade 

ComboBox 
Name 
CbxPrioridade 
Items 
Alta 
Normal 
Baixa 
CheckBox 
cbxConfirmaLeitura 
&Solicitar confirmação de leitura 

Memo 
Lines 
Name 
MmMensagem 

BitBtn 
Name 
btnEnviar 
Caption 
&Enviar 

BitBtn 
Name 
btnAnexar 
Caption 
Anexar 

Memo 
Name 
mmAnexos 
Lines 
ScrollBars 
SsVertical 

OpenDialog 
Name 
odAnexos 
Title 
Anexando Arquivos 
Filter | Filter Name 
Todos os Arquivos (*.*) 
Filter | Filter 
*.* 



Agora vá até a paleta Indy Clients e adicione o componente IdSMTP, depois vá até a paleta Indy Misc e adicione o componente IdMessage e altere as seguintes propriedades. 



Componente 
Nome 
Valor 

IdMessage 
Name 
IdMessage 


From | Address 
seuemail@provedor.com 


From | Name 
Seunome 

IdSMTP 
Name 
IdSMTP 


Host 
Seuhost.com.br 


UserId 
Seu Nome do usuário 








Bom todos os componentes necessários para que possamos enviar um email já estão em nosso formulário, agora vamos começar a codificar (é a parte que mais gosto de um sistema, odeio instanciar componentes). 



Apenas confira se seu formulário está com a aparência igual a imagem abaixo. 




Dê um duplo clique em btnAnexar, e adicione o seguinte código : 

//Insere o nome do arquivo no memo mmAnexos 
if odAnexos.Execute Then 
mmAnexos.Lines.Add(odAnexos.FileName); 

Nesse ponto cada vez que você clicar no botão Anexar e você selecionar um arquivo ele vai gravar o nome e o caminho do arquivo no Memo mmAnexos. 



Agora dê clique duplo no btnEnviar e adicione mais esse código : 

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.Sender.Text := mmMensagem.Lines.Text; 

if cbxConfirmaLeitura.Checked Then 
idmessage.ReceiptRecipient.Text := IDMessage.From.Text; // Auto Resposta 

//Tratando os arquivos anexos 
For xAnexo := 0 to mmAnexos.Lines.Count-1 do 
TIdAttachment.create(idmessage.MessageParts, TFileName(mmAnexos.Lines.Strings[xAnexo])); 


IdSMTP.Connect; 

Try 
IdSMTP.Send(IdMessage); 
Finally 
IdSMTP.Disconnect; 
End; 

Nosso sistema de envio de email já está concluído agora é só você realizar seus testes, os indy são muito uteis principalmente para enviar email com anexos, tendo em vista que quando você usa o ShellExecute para enviar email ele não envia email anexo. 



Mas os componentes Indy não resume-se apenas a isso, vale a pena você dar uma olhada com mais calma e descobrir a potencialidade dos mesmos. 



Confira abaixo como ficou o código completo do sistema. 

unit fSendIndy; 

interface 

uses 
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
Dialogs, StdCtrls, Buttons, Menus, IdMessage, IdBaseComponent, 
IdComponent, IdTCPConnection, IdTCPClient, IdMessageClient, IdSMTP; 

type 
TForm1 = class(TForm) 
Label1: TLabel; 
edtPara: TEdit; 
Label2: TLabel; 
Label3: TLabel; 
edtCC: TEdit; 
edtCCo: TEdit; 
cbxConfirmaLeitura: TCheckBox; 
mmMensagem: TMemo; 
btnEnviar: TBitBtn; 
Label4: TLabel; 
edtAssunto: TEdit; 
IdSMTP: TIdSMTP; 
IdMessage: TIdMessage; 
btnAnexar: TBitBtn; 
mmAnexos: TMemo; 
odAnexos: TOpenDialog; 
cbxPrioridade: TComboBox; 
Label5: TLabel; 
procedure btnEnviarClick(Sender: TObject); 
procedure btnAnexarClick(Sender: TObject); 
private 
{ Private declarations } 
public 
{ Public declarations } 
end; 

var 
Form1: TForm1; 

implementation 

{$R *.dfm} 

procedure TForm1.btnEnviarClick(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.Sender.Text := mmMensagem.Lines.Text; 

if cbxConfirmaLeitura.Checked Then 
idmessage.ReceiptRecipient.Text := IDMessage.From.Text; // Auto Resposta 

//Tratando os arquivos anexos 
For xAnexo := 0 to mmAnexos.Lines.Count-1 do 
TIdAttachment.create(idmessage.MessageParts, TFileName(mmAnexos.Lines.Strings[xAnexo])); 


IdSMTP.Connect; 

Try 
IdSMTP.Send(IdMessage); 
Finally 
IdSMTP.Disconnect; 
End; 

end; 

procedure TForm1.btnAnexarClick(Sender: TObject); 
begin 

//Insere o nome do arquivo no memo mmAnexos 
if odAnexos.Execute Then 
mmAnexos.Lines.Add(odAnexos.FileName); 

end; 

end. 

Marcos P. Gomes é Formado em Tecnologia em Informática e trabalha como Tecnólogo em Processamento de Dados em uma empresa do ramo automobilístico, desenvolve sistemas em diversas linguagens e é um dos fundadores do site http://www.delphibr.com.br/artigos/www.delphibr.com.br. Também faz parte do grupo de moderadores da lista de discussão lista-delphi@yahoogrupos.com.br. Pode ser contatado pelo e-mail marcos@delphibr.com.br.

Caro felipeee.. A sua pergunta eu respondo no teu tópico...

Link para o comentário
Compartilhar em outros sites

  • 0

ta falando que a caixa não esta disponivel.. Verifica se teu usuario não tem letras maiusculas.. O bol é meio chato... verifica a senha tambem..

Qualquer coisa testa com o usuario vazio e sem senha wink.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Opis ... não funcionou uma coisa .... a mensagem ... não aparece ... aparece tudo assunto e tudo mais a mensagem não chega

O CODIGO DE FONTE ESTA ASSIM:

unit Mail;

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;
    edtPara: TEdit;
    Label2: TLabel;
    Label3: TLabel;
    edtCC: TEdit;
    edtCCO: TEdit;
    cbxConfirmaLeitura: TCheckBox;
    mmMensagem: TMemo;
    btnEnviar: TButton;
    Label4: TLabel;
    edtAssunto: TEdit;
    IdSMTP: TIdSMTP;
    IdMessage: TIdMessage;
    btnAnexar: TButton;
    mmAnexos: TMemo;
    odAnexos: TOpenDialog;
    cbxPrioridade: TComboBox;
    Label5: TLabel;
    procedure btnAnexarClick(Sender: TObject);
    procedure btnEnviarClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btnEnviarClick(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.Sender.Text := mmMensagem.Lines.Text; 

if cbxConfirmaLeitura.Checked Then
idmessage.ReceiptRecipient.Text := IDMessage.From.Text; // Auto Resposta 

//Tratando os arquivos anexos
For xAnexo := 0 to mmAnexos.Lines.Count-1 do 
TIdAttachment.create(idmessage.MessageParts, TFileName(mmAnexos.Lines.Strings[xAnexo]));


IdSMTP.Connect; 

Try 
IdSMTP.Send(IdMessage);
Finally
IdSMTP.Disconnect;
End;

end;

procedure TForm1.btnAnexarClick(Sender: TObject);
begin

//Insere o nome do arquivo no memo mmAnexos
if odAnexos.Execute Then
mmAnexos.Lines.Add(odAnexos.FileName);

end;

end.

Link para o comentário
Compartilhar em outros sites

  • 0

IdMessage.Sender.Text := mmMensagem.Lines.Text;

HUm... acho que sender é quem envia e não o corpo do email... acho que esta usando a propriedade errada

Do aviso:

Try

IdSMTP.Send(IdMessage);

Finally

IdSMTP.Disconnect;

ShowMessage('Email enviado com sucesso!')

End;

Link para o comentário
Compartilhar em outros sites

  • 0

AE ... deu ... fica assim o CODIGO

unit Mail;

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;
    edtPara: TEdit;
    Label2: TLabel;
    Label3: TLabel;
    edtCC: TEdit;
    edtCCO: TEdit;
    cbxConfirmaLeitura: TCheckBox;
    btnEnviar: TButton;
    Label4: TLabel;
    edtAssunto: TEdit;
    IdSMTP: TIdSMTP;
    IdMessage: TIdMessage;
    btnAnexar: TButton;
    mmAnexos: TMemo;
    odAnexos: TOpenDialog;
    cbxPrioridade: TComboBox;
    Label5: TLabel;
    Label6: TLabel;
    mmMensagem: TMemo;
    procedure btnAnexarClick(Sender: TObject);
    procedure btnEnviarClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btnEnviarClick(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.Text := mmMensagem.Lines.Text;

if cbxConfirmaLeitura.Checked Then
idmessage.ReceiptRecipient.Text := IDMessage.From.Text; // Auto Resposta

//Tratando os arquivos anexos
For xAnexo := 0 to mmAnexos.Lines.Count-1 do 
TIdAttachment.create(idmessage.MessageParts, TFileName(mmAnexos.Lines.Strings[xAnexo]));


IdSMTP.Connect; 

Try 
IdSMTP.Send(IdMessage);
Finally
IdSMTP.Disconnect;
Showmessage('Enviado');
End;

end;

procedure TForm1.btnAnexarClick(Sender: TObject);
begin

//Insere o nome do arquivo no memo mmAnexos
if odAnexos.Execute Then
mmAnexos.Lines.Add(odAnexos.FileName);

end;

end.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...