Fórum Como Enviar email, sem utilizar o Outlook #370720

24/05/2009

0

:?: Boa noite Galera, estou apanhando um pouco e não sei como faço para resolver esse ´pepino´:

Em 1º lugar, não quero utilizar o Outlook, pois como tenho uma relação de Clientes de Aprox. 2000 emails, pelo outlook, como possui limites (50 email de cada vez), e além de ter que ficar clicando em Enviar, por isso estou procurando outra alternativa!

Preciso fazer uma Tela que envia email, já procurei em vários locais, mas sempre dá erro, aliás, diversos erros diferentes, vou colocar o código aki em baixo e vou contar com a ajuda de vcs!

////////////////////////////////////////

unit unt_email;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, IdComponent, IdTCPConnection, IdTCPClient,
IdMessageClient, IdSMTP, IdBaseComponent, IdMessage, IdIOHandler,
IdIOHandlerSocket, IdSSLOpenSSL, IdAntiFreezeBase, IdAntiFreeze;

type
Tfrm_email = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
btnAnexo: TBitBtn;
Label6: TLabel;
edtPara: TEdit;
edtCC: TEdit;
edtcco: TEdit;
edtassunto: TEdit;
cbxPrioridade: TComboBox;
btnEnviar: TBitBtn;
mmMensagem: TMemo;
odAnexos: TOpenDialog;
IdMessage: TIdMessage;
IdSMTP: TIdSMTP;
ListBox1: TListBox;
IdSSLIOHandlerSocket1: TIdSSLIOHandlerSocket;
procedure btnAnexoClick(Sender: TObject);
procedure btnEnviarClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
frm_email: Tfrm_email;

implementation

{$R *.dfm}

procedure enviar(var motivo,praquem:string);
begin

end;

procedure Tfrm_email.btnAnexoClick(Sender: TObject);
begin
if odAnexos.Execute then
ListBox1.Items.Add(odAnexos.FileName);
end;

procedure Tfrm_email.btnEnviarClick(Sender: TObject);
var xAnexo : Integer;
begin
IdSMTP.Host:= ´smtp.uol.com.br´;
IdSMTP.Port:= 25;
IdSMTP.Username:= ´xxxxxxx´; //usuário
IdSMTP.Password:= ´xxxxxxx´; //senha

IdMessage.From.Address:= ´xxxxxxx@uol.com.br´;
IdMessage.From.Name:= ´Nome´;
IdMessage.Recipients.EMailAddresses:= edtPara.Text;
IdMessage.Subject:= edtassunto.Text;
IdMessage.Body:= mmMensagem.Lines;

for xAnexo := 0 to ListBox1.Items.Count-1 do
TIdAttachment.create(idmessage.MessageParts, TFileName(ListBox1.Items.Strings[xAnexo]));

IdSMTP.Connect;
Application.ProcessMessages;
IdSMTP.Send(IdMessage);
ShowMessage(´certo´);
IdSMTP.Disconnect;
end;
END.

///////////////////////////

O erro que está dando agora é: ´Could Not Load SSL Library.´, mas já deram vários outros como: ´#10061 Connection Refused´, etc...

Já desativei o Firewall, já coloquei os arquivos .dll na pasta System32, coloquei-os na pasta junto com o arquivo executável, e nada....


Rdestri

Rdestri

Responder

Posts

24/05/2009

Dbergkamps10

Ola,
Kra achei isso aqui, mas eh pelo yahoo, tomara q vc possa aproveitar de alguma maneira: http://www.activedelphi.com.br/forum/viewtopic.php?p=244877&sid=aa5c5f31c6520c393d381f475b0b7dec

Espero ter ajudado.

Att
Dalton


Responder

Gostei + 0

25/05/2009

Rdestri

Pessoal, consegui a conexão, mas agora está dando outro erro qdo. vou enviar:

5.7.1 <ronaldo_destri@yahoo.com.br>: Recipient Address Rejected: PARA ENVIAR AS MENSAGENS, CLIQUE EM ´ENVIAR E RECEBER´ E INFORME SEUS DADOS DE ACESSO AO UOL.

esse erro acontece no IdSMTP.Send(mmMessage);

Obrigado!


Responder

Gostei + 0

25/05/2009

Alderico.dias

Certamente vc está utilizando uma conta do gmail para enviar estes e-mails, quando vc utiliza uma conta do gmail para fazer este tipo de envio de e-mail pelo delphi, tem alguns itens que vc tem que modificar em seu algoritmo. O processo de envio pelo gmail é criptografado/encriptação e deve ser feito um pouco diferente dos demais.
O Christiano Douglas, publicou um artigo explicando esta situação. Veja o link http:
//www.devmedia.com.br/articles/viewcomp.asp?comp=9219


Responder

Gostei + 0

25/05/2009

Rdestri

Não estou usando o gmail não! estou utilizando o uol mesmo!


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar