Array
(
)

problemas com envio de e-mail

Ullrich
   - 08 dez 2005

Código:
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
with smtp do
begin
//Nome do host
Host:= edit1.Text; // smtps.uol.com.br
//Nome do usuário, normalmente o e-mail
Username:= edit2.Text; // maycon123@uol.com.br
//Conecta com o servidor smtp
Connect();
end;
with IdMessage do
begin
//O seu endereço de e-mail
From.Address := edit2.Text;
//Aqui vai o endereço de e-mail para o qual você quer mandar o e-mail
Recipients.EMailAddresses := edit3.Text;
//O assunto da mensagem
Subject := edit4.Text;
//A mensagem que você quer mandar
Body.Text := MmMensagem.Lines.Text;
MessageParts.Clear;
end;
//Aqui para poder anexar um arquivo
TIdAttachment.Create(IdMessage.MessageParts,edit5.Text);
//Envia a mensagem
SMTP.Send(IdMessage);
SMTP.Disconnect;
end;

procedure TForm1.smtpStatus(ASender: TObject; const AStatus: TIdStatus;
const AStatusText: String);
begin
mmStatus.Lines.Add(AStatusText);
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
edit5.Text:=OpenDialog1.FileName;
end;



erro:
http://maycon.img.fotos.net.br/trabalho/images/erro_email.JPG

Coloquei o erro em imagem para facilitar.

Obrigado pela atenção.


Wiltonfenix
   - 08 dez 2005

Este link que vc colocou, não abre.


Massuda
   - 08 dez 2005

Não sei que erro está dando (do que por a imagem, teria sido melhor por o texto da mensagem de erro), mas geralmente os provedores de serviço de email exigem que você se conecte primeiro ao servidor POP3 (e permaneça conectado) para poder usar o servidor SMTP, ou seja, use um TIdPOP3 e conecte com ele, permaneça conectado enquanto usa o TIdSMTP e então desconecte dos dois servidores.


Ullrich
   - 08 dez 2005

Massuda, fiz o que disse mas não consegui um resultado positivo, por favor se tiver alguma dica ficarei grato.

obs: coloquei o erro em texto, no final da mensagem.


procedure TForm1.BitBtn1Click(Sender: TObject);
begin
with POP3 do
begin
Host:= Edit7.Text;
Username := Edit2.Text;
Password := Edit6.Text;
Connect();
end;
with smtp do
begin
//Nome do host
Host:= edit1.Text;
//Nome do usuário, normalmente o e-mail
Username:= edit2.Text;
//Conecta com o servidor smtp
Password := Edit6.Text;
Connect();
end;
with IdMessage do
begin
//O seu endereço de e-mail
From.Address := edit2.Text;
//Aqui vai o endereço de e-mail para o qual você quer mandar o e-mail
Recipients.EMailAddresses := edit3.Text;
//O assunto da mensagem
Subject := edit4.Text;
//A mensagem que você quer mandar
Body.Text := MmMensagem.Lines.Text;
MessageParts.Clear;
end;
//Aqui para poder anexar um arquivo
TIdAttachment.Create(IdMessage.MessageParts,edit5.Text);
//Envia a mensagem
SMTP.Send(IdMessage);
POP3.Disconnect;
SMTP.Disconnect;

end;

Erro:
project Project1.exe raised exeption class EIdProtocolReplyError
with message <unknown[200.221.222.112]>:
Client host rejected: access denied


Obrigado pela sua atenção.


Massuda
   - 08 dez 2005

Acho que faltou definir que o acesso ao servidor SMTP exige login... dê uma olhada [url=http://forum.clubedelphi.net/viewtopic.php?t=65357]neste tópico[/url] que tem um exemplo bem básico de como usar o TIdSMTP.

Fora isso, verifique se o nome de usuário e senha estão corretos. Outra coisa: muitos provedores, para evitar spammers, impedem que você acesse os servidores POP3/SMTP a partir de um IP que não pertence a eles (por exemplo, conectar via Terra e tentar acessar os servidores do UOL).


Ullrich
   - 08 dez 2005

Problema resolvido, dessa forma, envia normalmente, obrigado pela ajuda
Massuda, se presisar é só dar um grito. :D



procedure TForm1.BitBtn1Click(Sender: TObject);
begin
with POP3 do
begin
Host:= Edit7.Text;
Username := Edit2.Text;
Password := Edit6.Text;
Connect();
end;
with smtp do
begin
Host:= edit1.Text;
Username:= edit2.Text;
AuthenticationType := atLogin;
Password := Edit6.Text;
Connect();
end;
with IdMessage do
begin
//O seu endereço de e-mail
From.Address := edit2.Text;
//Aqui vai o endereço de e-mail para o qual você quer mandar o e-mail
Recipients.EMailAddresses := edit3.Text;
//O assunto da mensagem
Subject := edit4.Text;
//A mensagem que você quer mandar
Body.Text := MmMensagem.Lines.Text;
MessageParts.Clear;
end;
//Aqui para poder anexar um arquivo
TIdAttachment.Create(IdMessage.MessageParts,edit5.Text);
//Envia a mensagem
SMTP.Send(IdMessage);
POP3.Disconnect;
SMTP.Disconnect;
end;