dilena de enviar e-mail pelo delphi
Caros amigos programadores estou tentando enviar e-mail direto pelo delphi, so que nao consigo, ja peguei varios exemplos e todos dao o mesmo erro. Segue o exemplo abaixo
NMSMTP1.Host := ´smtp.gyn.terra.com.br´;
NMSMTP1.UserID := ´meu usuario´;
NMSMTP1.Connect; // Conecta no servidor
NMSMTP1.PostMessage.FromAddress := ´fr.rodrigo@terra.com.br´;
NMSMTP1.PostMessage.ToAddress.Text := ´fr.rodrigo@terra.com.br´;
NMSMTP1.PostMessage.Body.Text := ´Coloque aqui a mensagem´;
NMSMTP1.PostMessage.Subject := ´Titulo do Email´;
NMSMTP1.SendMail; // Envia email
dessa forma sempre me retorno o erro
550 Must Authenticate !
qual seria o problema ???
se alguem tiver outra maneira favor entre em contato, preciso disso meio urgente
NMSMTP1.Host := ´smtp.gyn.terra.com.br´;
NMSMTP1.UserID := ´meu usuario´;
NMSMTP1.Connect; // Conecta no servidor
NMSMTP1.PostMessage.FromAddress := ´fr.rodrigo@terra.com.br´;
NMSMTP1.PostMessage.ToAddress.Text := ´fr.rodrigo@terra.com.br´;
NMSMTP1.PostMessage.Body.Text := ´Coloque aqui a mensagem´;
NMSMTP1.PostMessage.Subject := ´Titulo do Email´;
NMSMTP1.SendMail; // Envia email
dessa forma sempre me retorno o erro
550 Must Authenticate !
qual seria o problema ???
se alguem tiver outra maneira favor entre em contato, preciso disso meio urgente
Fernando
Curtidas 0
Respostas
Leonardobhbr
18/01/2006
tipo que eu utilizo componentes indy pode ser duas coisas
uma vc tem que checar email antes de enviar só abrir o pop3 alguns servidores obriga isto para garantir q é a pessoa
ou então a propriedade autenticação tem que estar como Login
e passe a senha tambem do usuario como eu tenho delphi 7 não existe esse componente para eu analisar
uma vc tem que checar email antes de enviar só abrir o pop3 alguns servidores obriga isto para garantir q é a pessoa
ou então a propriedade autenticação tem que estar como Login
e passe a senha tambem do usuario como eu tenho delphi 7 não existe esse componente para eu analisar
GOSTEI 0
Massuda
18/01/2006
@Fernando
Esse componente que você está utilizando, NMSMTP, não irá funcionar pois ele (que eu saiba) não suporta autenticação no servidor SMTP; esse componente é antigo e na época que foi feito a maioria dos servidores SMTP não exigia autenticação. Infelizmente, como a empresa que fez esse componente não existe mais, não existe versão atualizada dele.
Sugiro você baixar a versão 9 do Indy ([url=http://www.IndyProject.org/]link para o site oficial[/url]) e utilizá-la para implementar o envio de email. O Indy é open source.
Quanto a utilização do Indy, experimente pesquisar aqui o fórum por TIdSMTP que você deve encontrar vários tópicos sobre ele.
Esse componente que você está utilizando, NMSMTP, não irá funcionar pois ele (que eu saiba) não suporta autenticação no servidor SMTP; esse componente é antigo e na época que foi feito a maioria dos servidores SMTP não exigia autenticação. Infelizmente, como a empresa que fez esse componente não existe mais, não existe versão atualizada dele.
Sugiro você baixar a versão 9 do Indy ([url=http://www.IndyProject.org/]link para o site oficial[/url]) e utilizá-la para implementar o envio de email. O Indy é open source.
Quanto a utilização do Indy, experimente pesquisar aqui o fórum por TIdSMTP que você deve encontrar vários tópicos sobre ele.
GOSTEI 0
Firekiller_am
18/01/2006
procedure TfrmEnviarAtualizacao.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = 27 then
close;
end;
procedure TfrmEnviarAtualizacao.BtnEnviarClick(Sender: TObject);
begin
btnEnviar.Enabled:=False;
tfXPform1.BottomTitleCaption := ´Status: Conectando Com o Provedor!´;
Try
NMSMTP.Connect;
Except
tfXPform1.BottomTitleCaption := ´Erro: Provedor Não Disponível no Momento!!!´;
Exit;
End;
tfXPform1.BottomTitleCaption := ´Status: Provedor Conectado !´;
If cbManaus.Checked Then Begin
NMSMTP.PostMessage.FromAddress := ´sogeconjorge@uol.com.br´;
NMSMTP.PostMessage.FromName := ´Ativa Copiadoras - São Paulo´;
NMSMTP.PostMessage.Subject := ´Atualização de Dados p/ Sistema - Para Manaus´;
NMSMTP.PostMessage.ToAddress.Add(´ativa.copiadoras@horizon.com.br´);
End;
If cbRecife.Checked Then Begin
NMSMTP.PostMessage.FromAddress := ´ativa.copiadoras@horizon.com.br´;
NMSMTP.PostMessage.FromName := ´Ativa Copiadoras - Manaus´;
NMSMTP.PostMessage.Subject := ´Atualização de Dados p/ Sistema - Para Recife´;
NMSMTP.PostMessage.ToAddress.Add(´sogeconjorge@uol.com.br´);
End;
If cbSaoPaulo.Checked Then Begin
NMSMTP.PostMessage.FromAddress := ´ativa.copiadoras@horizon.com.br´;
NMSMTP.PostMessage.FromName := ´Ativa Copiadoras - Manaus´;
NMSMTP.PostMessage.Subject := ´Atualização de Dados p/ Sistema - Para São Paulo´;
NMSMTP.PostMessage.ToAddress.Add(´sogeconjorge@uol.com.br´);
End;
//NMSMTP.PostMessage.ToCarbonCopy.Add(´cpd@belmiros.com.br´);
NMSMTP.PostMessage.Attachments.Add(´\Construtor\Exportacao\Notven.csv´);
NMSMTP.PostMessage.Attachments.Add(´\Construtor\Exportacao\Iteven.csv´);
NMSMTP.PostMessage.Attachments.Add(´\Construtor\Exportacao\Config.csv´);
NMSMTP.PostMessage.Body.Add(´Favor Copie os Arquivos em Anexo para a pasta \Construtor\Importacao do Servidor,´);
NMSMTP.PostMessage.Body.Add(´em seguida entre no sistema e execute a opção Importação de Dados (F11).´);
tfXPform1.BottomTitleCaption := ´Status: Enviando E-Mail !´;
NMSMTP.SendMail;
tfXPform1.BottomTitleCaption := ´Status: E-Mail Enviado !´;
end;
procedure TfrmEnviarAtualizacao.cbSaoPauloClick(Sender: TObject);
begin
If cbSaoPaulo.Checked Then cbManaus.Checked:=False;
end;
procedure TfrmEnviarAtualizacao.cbManausClick(Sender: TObject);
begin
If cbManaus.Checked Then cbSaoPaulo.Checked:=False;
end;
qualquer coisa procure no forum active delphi por borland_linuxer
Shift: TShiftState);
begin
if key = 27 then
close;
end;
procedure TfrmEnviarAtualizacao.BtnEnviarClick(Sender: TObject);
begin
btnEnviar.Enabled:=False;
tfXPform1.BottomTitleCaption := ´Status: Conectando Com o Provedor!´;
Try
NMSMTP.Connect;
Except
tfXPform1.BottomTitleCaption := ´Erro: Provedor Não Disponível no Momento!!!´;
Exit;
End;
tfXPform1.BottomTitleCaption := ´Status: Provedor Conectado !´;
If cbManaus.Checked Then Begin
NMSMTP.PostMessage.FromAddress := ´sogeconjorge@uol.com.br´;
NMSMTP.PostMessage.FromName := ´Ativa Copiadoras - São Paulo´;
NMSMTP.PostMessage.Subject := ´Atualização de Dados p/ Sistema - Para Manaus´;
NMSMTP.PostMessage.ToAddress.Add(´ativa.copiadoras@horizon.com.br´);
End;
If cbRecife.Checked Then Begin
NMSMTP.PostMessage.FromAddress := ´ativa.copiadoras@horizon.com.br´;
NMSMTP.PostMessage.FromName := ´Ativa Copiadoras - Manaus´;
NMSMTP.PostMessage.Subject := ´Atualização de Dados p/ Sistema - Para Recife´;
NMSMTP.PostMessage.ToAddress.Add(´sogeconjorge@uol.com.br´);
End;
If cbSaoPaulo.Checked Then Begin
NMSMTP.PostMessage.FromAddress := ´ativa.copiadoras@horizon.com.br´;
NMSMTP.PostMessage.FromName := ´Ativa Copiadoras - Manaus´;
NMSMTP.PostMessage.Subject := ´Atualização de Dados p/ Sistema - Para São Paulo´;
NMSMTP.PostMessage.ToAddress.Add(´sogeconjorge@uol.com.br´);
End;
//NMSMTP.PostMessage.ToCarbonCopy.Add(´cpd@belmiros.com.br´);
NMSMTP.PostMessage.Attachments.Add(´\Construtor\Exportacao\Notven.csv´);
NMSMTP.PostMessage.Attachments.Add(´\Construtor\Exportacao\Iteven.csv´);
NMSMTP.PostMessage.Attachments.Add(´\Construtor\Exportacao\Config.csv´);
NMSMTP.PostMessage.Body.Add(´Favor Copie os Arquivos em Anexo para a pasta \Construtor\Importacao do Servidor,´);
NMSMTP.PostMessage.Body.Add(´em seguida entre no sistema e execute a opção Importação de Dados (F11).´);
tfXPform1.BottomTitleCaption := ´Status: Enviando E-Mail !´;
NMSMTP.SendMail;
tfXPform1.BottomTitleCaption := ´Status: E-Mail Enviado !´;
end;
procedure TfrmEnviarAtualizacao.cbSaoPauloClick(Sender: TObject);
begin
If cbSaoPaulo.Checked Then cbManaus.Checked:=False;
end;
procedure TfrmEnviarAtualizacao.cbManausClick(Sender: TObject);
begin
If cbManaus.Checked Then cbSaoPaulo.Checked:=False;
end;
qualquer coisa procure no forum active delphi por borland_linuxer
GOSTEI 0