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

Enviar E-mail


Pirambu!

Pergunta

Eu criei um form para enviar E-mail

e Adicionei os seguintes componentes:IdSMTP,IdMessage

no IdSMT:

Host= smtp.mail.yahoo.com.br

Password:Senha do meu e-mail

UserName:nome do meu e-mail

Gostaria de saber se esta forma esta correta

quando mando enviar apararece o seguinte erro: SOCKET ERRO #11004.

alguém sabe como eu possa resolver este problema?

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Ola...

Amigo....eu faço assim...segue o codigo que uso.

procedure TForm1.XiButton1Click(Sender: TObject);
Var newText   : TIdText;
    sPath     : String;
    newAttach : TIdAttachment;
    imgID1, imgName1 : String;
begin
   //Endereço e ID da Imagem
   imgName1 := 'c:\figura.jpg';
   //imgID1   := CreateUniqueID; desabilitei

   // Configura o Servidor
   IdSMTP1.Host := EditSmtp.text;//Host SMTP do bol
   IdSMTP1.Port := StrToInt(EditPorta.text);  //Port do bol
   IdSMTP1.Username := EditUserName.text;//Login do usuário
   IdSMTP1.Password := EditPassWord.Text; //Senha do usuário
   IdSMTP1.AuthenticationType := atLogin; //tipo da autenticação (atNone é quando não precisa autenticar}

   // Configura o Remetente da Mensagem
   IdMessage1.Clear;
   IdMessage1.From.Address := EditEmailRem.text;
   IdMessage1.From.Name    := EditNomeRem.text;
   IdMessage1.Subject      := EditAssunto.text;

   // Configura os destinatários
   IdMessage1.Recipients.Clear;
   IdMessage1.Recipients.Add;
   IdMessage1.Recipients.Items[IdMessage1.Recipients.Count-1].Address := EditEmailDest.text;
   IdMessage1.Recipients.Items[IdMessage1.Recipients.Count-1].Name    := EditNomeDest.text;

   // Adiciona o HTML ao corpo da mensagem
   newText := TIdText.Create(IdMessage1.MessageParts,nil);
   newText.ContentType := 'text/html';
   newText.Body.Add('<HTML><BODY>');
   newText.Body.Add('<IMG SRC="cid:'+imgID1+'"></p>');  // Troca imagens pelo ID unico
   newText.Body.Add('<font face="Verdana" size="2"><b>Empresa</b>');
   newText.Body.Add('</font><hr><font face="Verdana" size="2"><b><font face="Verdana" size="2"><b><font face="Verdana" size="1"><b><u>'+EditAssunto.text+'</u></b></font></b></font></b></font></p>');
   newText.Body.Add('<p><font face="Verdana" size="2"><b><font face="Verdana" size="2"><b><font face="Verdana" size="1">'+EditMensagem1.text+'</font></b></font></b></font></p>');
   newText.Body.Add('<p><font face="Verdana" size="2"><b><font face="Verdana" size="2"><b><font face="Verdana" size="1">'+EditMensagem2.text+'</font></b></font></b></font></p>');
 newText.Body.Add('<p><font face="Verdana" size="2"><b><font face="Verdana" size="2"><b><font face="Verdana" size="1">'+EditMensagem2.text+'</font></b></font></b></font></p>');
   newText.Body.Add('</BODY><HTML>');

   // define o tipo do conteúdo da mensagem

   // Adiciona uma parte texto ao corpo
   newText := TIdText.Create(IdMessage1.MessageParts,nil);
   newText.ContentType := 'text/plain';
   newText.Body.Add('Este email só será visualizado em padrão HTML');


   //Anexa a primeira imagem
   newAttach := TIdAttachment.Create(IdMessage1.MessageParts,imgName1);
   newAttach.ContentType        := 'image/jpeg';
   newAttach.ContentDisposition := 'inline';
   newAttach.ExtraHeaders.Values['Content-ID'] := '<'+imgId1+'>';

    //Estabelece a conexão
     IdSMTP1.Connect;
     IdSMTP1.Authenticate;
   // Envia
   Try
      IdSMTP1.Send(IdMessage1);
      showmessage('Ok. Mesagem Enviada com Sucesso.');
      //Envia a mensagem
  except
      showmessage('ERRO. Não enviado.');
     //Mensagem de erro
  end;
  IdSMTP1.Disconnect;
end;

Veja se te ajuda este código...ele faz todo o processo.....com opção de anexar um papel de carta...

uso este codigo ....e foi testado no servidor bol e meu domínio.

Abraço

Link para o comentário
Compartilhar em outros sites

  • 0

se você criou um email do bol....faça assim a configuração:

// Configura o Servidor
   IdSMTP1.Host := EditSmtp.text;//Host SMTP do bol exemplo: smtps.bol.com.br
   IdSMTP1.Port := StrToInt(EditPorta.text);  //Port do bol exempo: 25
   IdSMTP1.Username := EditUserName.text;//Login do usuário exemplo: pirambu
   IdSMTP1.Password := EditPassWord.Text; //Senha do usuário exemplo: 787877
   IdSMTP1.AuthenticationType := atLogin; //tipo da autenticação (atNone é quando não precisa

se fizer assim deve funcionar...pois acabei de fazer um teste com o bol...e deu certo a imagem enviou e recebi...é claro que tem que configurar as outras opções

não esqueça que o bol.....o servidor não é smtp e sim smtps

eu fiz o teste assim smtp.bol.com.br e deu exatamento o erro que você mencionou: SOCKET ERRO #11004.

ai corrigi para smtps.bol.com.br e deu certo.

Acredito que seja este o problema. :)

abraço

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...