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

Envio De E-mail


Arlon

Pergunta

Aí pessoal, eu fiz uma aplicação que manda pedidos de produtos por e-mail, mas estou com um pequeno grande problemão: ele só envia de um provedor pra ele mesmo, ou seja, se eu colocar um smtp e user do Terra ele só manda e-mail pra assinantes do Terra, se eu ponho smtp e user do Click21 ele só manda pra e-mails do Click21. O código do botão enviar está listado abaixo:

 nmsmtp1.Port := 25;
 nmsmtp1.Host := DM.TBEmailHost.Value;
 nmsmtp1.UserId := DM.TBEmailLogin.Value;
 nmsmtp1.PostMessage.FromAddress := DM.TBEmailRemetente.Value;
 nmsmtp1.PostMessage.ToAddress.Add(ComboBox1.Text);
 nmsmtp1.PostMessage.subject := edit6.Text;
 nmsmtp1.postmessage.fromname := DM.TBEmailNome.Value;
 if trim(edit8.Text) <> '' then
 begin
  nmsmtp1.postmessage.attachments.add(edit8.Text);
 end;
 nmsmtp1.PostMessage.Body.Assign(memo1.lines);
 nmsmtp1.Connect;
 nmsmtp1.SendMail;
 nmsmtp1.Disconnect;

Alguém sabe o que pode estar acontecendo? E se algum de vocês tiver uma rotina ou um exemplo pronto que funcione sem dar esse problema que está acontecendo comigo será que daria pra me enviar, por favor. sad.gif

Obrigado.

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

O erro que dá é esse aqui: "554 Error: No valid recipients."

Só que eu mando pra um e-mail que realmente existe, daí mais um motivo de eu não entender o motivo do erro.

----editado aqui----

Bem, e pra não perder tempo com um erro eu vou buscando outras soluções também.

Peguei um código que abre o outlook express pelo delphi e manda o e-mail pro endereço que você definir, mas alguém sabe se existe alguma forma de anexar o arquivo no outlook express através de um código em delphi?? A função que estou usando é a seguinte:

ShellExecute(Handle,'open',PChar('mailto:' + edit1.text),'','',SW_SHOW);

quero definir no código o arquivo a ser anexado, é possível isso?

Eu já tentei:

ShellExecute(Handle,'open',PChar('mailto:' + combobox1.text),'',Pchar('C:\caminho_do_arquivo),SW_SHOW);

mas não deu certo dessa forma e nem colocando #0 depois do caminho.

Link para o comentário
Compartilhar em outros sites

  • 0

O problema se não me engano é que todos os provedores hoje em dia estão exigindo autenticação no envio de mensagens e o componente que você está utilizando não tem esta propriedade.

Utilize o Indy IdSMTP

http://www.nevrona.com/Indy/

procedure TForm1.Button1Click(Sender: TObject);

var msg : TIdMessage;

begin

{ Host do servidor de e-mail }

IdSMTP1.Host := 'smtp.provedor.com.br';

IdSMTP1.Port := 25;

{ Nome de login do usuário }

IdSMTP1.Username := 'usuario';

IdSMTP1.Password := 'senha';

IdSMTP1.Connect;

if not IdSMTP1.Connected then

raise Exception.Create('Erro de conexão');

msg := TIdMessage.create(Self);

msg.Clear;

{ Nome do remetente }

msg.From.Name := 'Usuario';

{ E-mail do remetente }

msg.From.Text := 'Usuario@provedor.com.br';

{ E-mail do destinatário }

msg.Recipients.Clear;

msg.Recipients.EMailAddresses := 'enviapara@bol.com.br';

msg.subject := 'Assunto da mensagem';

{ Corpo da mensagem }

msg.body.Clear;

msg.Body.Add('Primeira linha da mensagem');

msg.Body.Add('Segunda linha da mensagem');

msg.Body.Add(''); { Linha em branco }

msg.Body.Add('Última linha da mensagem');

{ Anexar arquivos }

TIDAttachment.Create(msg.MessageParts,'c:\anexo\anexo.txt');

IdSMTP1.Send(msg);

IdSMTP1.Disconnect;

end;

Link para o comentário
Compartilhar em outros sites

  • 0

Tá bom MGrasser, vou testar então e depois respondo se deu certo.

você sabe como anexar um arquivo no outlook express via código pelo Delphi?

Link para o comentário
Compartilhar em outros sites

  • 0

Eu usei o código do MGrasser e o Delphi me retornou um milhão de erros... deixa pra lá, mas valeu mesmo assim pela ajuda cara, essa é a intenção do fórum. estou usando Delphi 6, mas nem sei se tem alguma coisa a ver.

Peguei um componente maluco aqui, um tal de MapiControl, ele utiliza a conta padrão do outlook pra mandar o e-mail (nem sei se essa bagaça funciona, vou testar só sábado), se funcionar eu dou uma resposta aqui pra vocês.

Valeu a ajuda ae galera, até mais.

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,3k
    • Posts
      652,4k
×
×
  • Criar Novo...