SSL ile mail gönderme
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: SSL ile mail gönderme
hocam direk yazdığınız programınız nerde ise oraya direk olarak koyun. project1.exe nin yanına yani
Re: SSL ile mail gönderme
çalıştırdığım program
c:\mailgonder\projectmailssl
mailgonder klasoru altında, dll leri c:\mailgonder klasorune koydum, ancak sorun devam ediyor.
Kodlamayı size gönderiyorum.
Aralara showmessage 'le koydum.. showmessage('222') yi gösteriyor, hemen sonra hataya duşuyor.
IdSMTP.Send(IdMessage);
bunu yapamıyor, bunu yapabilse, mail gönderildi mesajına düşecek, ama 'Send' yapamıyor...hataya düşüyor.
num:=MessageDlg('Tüm İşlemeleriniz Bittimi ? Mail Gönderilsinmi ? ', msgtipi,[mbyes,mbno,mbcancel],0);
if num = mrYes then
begin
IdSMTP := TIdSMTP.Create(nil);
ekm:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'mail.ini');
try
IdSMTP.host:=ekm.Readstring('Form','host','');
IdSMTP.username:=ekm.Readstring('Form','username','');
IdSMTP.Password:=ekm.Readstring('Form','Password','');
IdSMTP.port:=ekm.ReadInteger('Form','Port',1);// vs uzatabilirsin
finally
ekm.Free;
end;
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method := sslvSSLv2 ;
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Mode := sslmClient;
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.VerifyDepth := 2;
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.VerifyMode := [];
IdSSLIOHandlerSocketOpenSSL1.Host := IdSMTP.Host;
IdSSLIOHandlerSocketOpenSSL1.Port := IdSMTP.Port;
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method := sslvSSLv3;
IdSMTP.IOHandler := IdSSLIOHandlerSocketOpenSSL1.create ;
//IdSMTP.UseTLS := utUseImplicitTLS ;
toadres := 'n.sentuna@kocaertekstil.com';
fromadres:= 'n.sentuna@kocaertekstil.com';
IdMessage:=TIdMessage.Create(nil);
IdMessage.From.address := fromadres;
IdMESSAGE.Recipients.EMailAddresses:= toadres;
IdMESSAGE.CClist.EMailAddresses:= fromadres;
IdMessage.Subject:= konu2;
dosya:= 'c:\mailgonder\deneme.txt' ;
eklidosya := TIdAttachmentFile.Create(Idmessage.MessageParts, dosya);
IdSMTP.Connect;
showmessage('111');
IdSMTP.Authenticate;
try
showmessage('222');
IdSMTP.Send(IdMessage);
ShowMessage('Mail Gönderildi.');
finally
IdSMTP.Disconnect;
IdSMTP := TIdSMTP.Create(nil);
end;
Close;
end;
c:\mailgonder\projectmailssl
mailgonder klasoru altında, dll leri c:\mailgonder klasorune koydum, ancak sorun devam ediyor.
Kodlamayı size gönderiyorum.
Aralara showmessage 'le koydum.. showmessage('222') yi gösteriyor, hemen sonra hataya duşuyor.
IdSMTP.Send(IdMessage);
bunu yapamıyor, bunu yapabilse, mail gönderildi mesajına düşecek, ama 'Send' yapamıyor...hataya düşüyor.
num:=MessageDlg('Tüm İşlemeleriniz Bittimi ? Mail Gönderilsinmi ? ', msgtipi,[mbyes,mbno,mbcancel],0);
if num = mrYes then
begin
IdSMTP := TIdSMTP.Create(nil);
ekm:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'mail.ini');
try
IdSMTP.host:=ekm.Readstring('Form','host','');
IdSMTP.username:=ekm.Readstring('Form','username','');
IdSMTP.Password:=ekm.Readstring('Form','Password','');
IdSMTP.port:=ekm.ReadInteger('Form','Port',1);// vs uzatabilirsin
finally
ekm.Free;
end;
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method := sslvSSLv2 ;
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Mode := sslmClient;
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.VerifyDepth := 2;
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.VerifyMode := [];
IdSSLIOHandlerSocketOpenSSL1.Host := IdSMTP.Host;
IdSSLIOHandlerSocketOpenSSL1.Port := IdSMTP.Port;
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method := sslvSSLv3;
IdSMTP.IOHandler := IdSSLIOHandlerSocketOpenSSL1.create ;
//IdSMTP.UseTLS := utUseImplicitTLS ;
toadres := 'n.sentuna@kocaertekstil.com';
fromadres:= 'n.sentuna@kocaertekstil.com';
IdMessage:=TIdMessage.Create(nil);
IdMessage.From.address := fromadres;
IdMESSAGE.Recipients.EMailAddresses:= toadres;
IdMESSAGE.CClist.EMailAddresses:= fromadres;
IdMessage.Subject:= konu2;
dosya:= 'c:\mailgonder\deneme.txt' ;
eklidosya := TIdAttachmentFile.Create(Idmessage.MessageParts, dosya);
IdSMTP.Connect;
showmessage('111');
IdSMTP.Authenticate;
try
showmessage('222');
IdSMTP.Send(IdMessage);
ShowMessage('Mail Gönderildi.');
finally
IdSMTP.Disconnect;
IdSMTP := TIdSMTP.Create(nil);
end;
Close;
end;
Re: SSL ile mail gönderme
yollayın bi bakalım sonrada burdan paylaşalım
En son esrehmaan tarafından 17 May 2012 05:50 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Re: SSL ile mail gönderme
msn yok bende, mail adresinize kodları gönderdim
Re: SSL ile mail gönderme
3 dll den bahsediliyor. ya program klasörü yada system32
libssl32.dll
ssleay32.dll
libeay32.dll
bir kaynakta yükleme için şunu yapmış.
procedure TForm1.FormCreate(Sender: TObject);
begin
IdSSLOpenSSLHeaders.Load;
end;
libssl32.dll
ssleay32.dll
libeay32.dll
bir kaynakta yükleme için şunu yapmış.
procedure TForm1.FormCreate(Sender: TObject);
begin
IdSSLOpenSSLHeaders.Load;
end;
Bir kelimenin anlamını öğretsen bile yeter..



Re: SSL ile mail gönderme
indy altına
IdSSLOpenSSLHeaders bulamadım..
IdSSLOpenSSLHeaders bulamadım..
-
- Üye
- Mesajlar: 330
- Kayıt: 09 Mar 2004 11:18
- Konum: Konya
- İletişim:
Re: SSL ile mail gönderme
benzer bir hatayı ben de yaşadım,
http://indy.fulgan.com/SSL/Archive/ adresinden INDY versiyonunuz ile ilgili uygun DLL bulup Exenin olduğu klasöre atarsanız sorununuz çözümlenecektir düşüncesindeyim.
http://indy.fulgan.com/SSL/Archive/ adresinden INDY versiyonunuz ile ilgili uygun DLL bulup Exenin olduğu klasöre atarsanız sorununuz çözümlenecektir düşüncesindeyim.
Re: SSL ile mail gönderme
İndirdim ancak,
IdSMTP.Send(IdMessage);
sen işlemini yapamadı, küçük kare içinde kırmızı çarpı işareti geliyor.
Server yeni kruldu bizim.
Kurulum oldukdan sonra mailleirm gitmemeye başladı.
Benden kerbereos , ntlm kullanmamı istediler.
Ama ben bunları nasıl kullanacağımı bilmiyorum.
IdSMTP.Send(IdMessage);
sen işlemini yapamadı, küçük kare içinde kırmızı çarpı işareti geliyor.
Server yeni kruldu bizim.
Kurulum oldukdan sonra mailleirm gitmemeye başladı.
Benden kerbereos , ntlm kullanmamı istediler.
Ama ben bunları nasıl kullanacağımı bilmiyorum.
Re: SSL ile mail gönderme
libeay32.dll,ssleay32.dll,mail.ini ve deneme.txt dosyalarını Win32\Debug klasörü içine de atmalısın.O hata mesajı bundan kaynaklanıyor...nuran yazdı:İndirdim ancak,
IdSMTP.Send(IdMessage);
sen işlemini yapamadı, küçük kare içinde kırmızı çarpı işareti geliyor.
şimdi Delphi XE2 ile bir örnek yaptım.Maili başarıyla gönderdi. mail.ini dosyası içindeki Host , Username , Password kendi smtp ayarlarınızı girmeyi unutmayın.SMTP Port 587 dir.
Kod: Tümünü seç
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, IdIOHandler,
IdIOHandlerSocket, IdIOHandlerStack, IdSSL, IdSSLOpenSSL, IdServerIOHandler,
IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,IniFiles,
IdExplicitTLSClientServerBase, IdMessageClient, IdSMTPBase, IdSMTP, IdAttachmentFile,
IdMessage;
type
TForm1 = class(TForm)
IdSMTP1: TIdSMTP;
IdServerIOHandlerSSLOpenSSL1: TIdServerIOHandlerSSLOpenSSL;
IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL;
Button1: TButton;
IdMessage1: TIdMessage;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
appPath:WideString;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
appPath:=ExtractFilePath(Application.ExeName);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
ekm:Tinifile;
eklidosya: TIdAttachmentFile;
IdAttachmentfile: TIdAttachmentfile;
IdSSLIO : TIdSSLIOHandlerSocketOpenSSL;
DLLHandle: THandle;
DLLHandle2: THandle;
address : pointer;
num:integer;
toadres,fromadres,konu2,dosya:string;
begin
DLLHandle := LoadLibrary(PWideChar(appPath+'libeay32.dll'));
DLLHandle2 := LoadLibrary(PWideChar(appPath+'ssleay32.dll'));
num:=MessageDlg('Tüm İşlemeleriniz Bittimi ? Mail Gönderilsinmi ? ', mtCustom,[mbyes,mbno,mbcancel],0);
if num = mrYes then
begin
//IdSMTP1 := TIdSMTP.Create(nil);
ekm:=TIniFile.Create(appPath+'mail.ini');
try
IdSMTP1.host:=ekm.Readstring('SMTP','Host','');
IdSMTP1.username:=ekm.Readstring('SMTP','Username','');
IdSMTP1.Password:=ekm.Readstring('SMTP','Password','');
IdSMTP1.port:=ekm.ReadInteger('SMTP','Port',587);//
finally
ekm.Free;
end;
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method := sslvSSLv2 ;
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Mode := sslmClient;
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.VerifyDepth := 2;
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.VerifyMode := [];
IdSSLIOHandlerSocketOpenSSL1.Host := IdSMTP1.Host;
IdSSLIOHandlerSocketOpenSSL1.Port := IdSMTP1.Port;
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method := sslvSSLv3;
IdSMTP1.IOHandler := IdSSLIOHandlerSocketOpenSSL1.create ;
toadres := 'n.sentuna@kocaertekstil.com';
fromadres:= 'n.sentuna@kocaertekstil.com';
//IdMessage:=TIdMessage.Create(nil);
IdMessage1.From.address := fromadres;
IdMessage1.Recipients.EMailAddresses:= toadres;
IdMessage1.CClist.EMailAddresses:= fromadres;
IdMessage1.Subject:= konu2;
dosya:= appPath+'deneme.txt' ;
eklidosya := TIdAttachmentFile.Create(Idmessage1.MessageParts, dosya);
IdSMTP1.Connect;
IdSMTP1.Authenticate;
try
IdSMTP1.Send(IdMessage1);
ShowMessage('Mail Gönderildi.');
finally
IdSMTP1.Disconnect;
//IdSMTP := TIdSMTP.Create(nil);
end;
//Close;
end;
end;
end.
indymailssl.rar - 3.8 Mb
Re: SSL ile mail gönderme
dynamo tam bir proje olmuş.Bu dosyayı bir eklenti yapmadan kullanabilirmiyiz.Yani bir dll falan şartmı ben delphi7 de çalıştırdım projeyi ama mail atamadım tabiii
birde benim gmail,hotmail lerim var bunların SMTP bilgilerini nasıl buluruz.gmail,hotmail buna izin veriyormu bu programdan istediğimiz kişilere mail atabiliyormuyuz.Kullanımı konusunda biraz açıklama yapabilirmisiniz.

Re: SSL ile mail gönderme
bu örnek SSL kullanarak mail gönderir.SSL kullanmadan yani dll dosyalara gerekmeden mail gönderme ile ilgili internette bir çok örnek bulabilirsiniz.SMTP bilgileri, web hosting hizmeti sağlayan şirketlerden alınır.İnternetten size ait bir alandı varsa,SMTP ayarlar:
Host : mail.alanadiniz.com
Kullanici Adi : e-mail adresinizin tamamı
Şifreniz : Mail şifreniz
gmail,hotmail'de SMTP ayarları nasıl yapılır bilmiyorum.Aşağıdaki linkte Gmail ile SMTP kullanımı hakkında bazı açıklamalar var:
http://analystdeveloper.com/blogs/gurka ... /3484.aspx
Host : mail.alanadiniz.com
Kullanici Adi : e-mail adresinizin tamamı
Şifreniz : Mail şifreniz
gmail,hotmail'de SMTP ayarları nasıl yapılır bilmiyorum.Aşağıdaki linkte Gmail ile SMTP kullanımı hakkında bazı açıklamalar var:
http://analystdeveloper.com/blogs/gurka ... /3484.aspx
Re: SSL ile mail gönderme
ile dll kullanma arasındaki fark ne hocam ? Birde indy bileşenlerinde ssl desteği var biliyorum sizin yaptığınız projede böyle bir destek ayarı var mı bende indy yüklü.Varsa buradan toplu mail ata biliyormuyuz.Atılabiliyorsa ne yapabiliriz döngü işlemimi.Biri mail makalesi yazsa çok iyi olacak galiba SSL li SSL sizSSL kullanmadan yani dll dosyalara gerekmeden mail gönderme

Re: SSL ile mail gönderme
Yokmu bir mail atma makalesi, projesi ömür törpüsü oldu bu mail.Bilen birileri ayrıntılı olarak anlatsa şu olayı.Hangi companentler lazımdan her türlü mail adresine mail atma,dosya ekleme vs.vs akılda soru kalmayacak şekilde.Çok mu şey istemiş oluruz.Bir çok üye bunu bekliyor ve bu forumdan rica ediyordur eminim.Ben denediğim bir çok mail kodlarından atamadım.Eksiğim ne onuda anlayamadım.Armadan google çökecek
- chnyildirim
- Üye
- Mesajlar: 39
- Kayıt: 25 Haz 2003 01:51
- İletişim:
Re: SSL ile mail gönderme
Delphi7 ssl mail gönderimde takıldım kaldım...

indy versiyonum "indy10.0.52"
Bi çok dll denedim.
Sonuçsuz...
Bi yardım...

indy versiyonum "indy10.0.52"
Bi çok dll denedim.
Sonuçsuz...
Bi yardım...
dynamo yazdı:libeay32.dll,ssleay32.dll,mail.ini ve deneme.txt dosyalarını Win32\Debug klasörü içine de atmalısın.O hata mesajı bundan kaynaklanıyor...nuran yazdı:İndirdim ancak,
IdSMTP.Send(IdMessage);
sen işlemini yapamadı, küçük kare içinde kırmızı çarpı işareti geliyor.
şimdi Delphi XE2 ile bir örnek yaptım.Maili başarıyla gönderdi. mail.ini dosyası içindeki Host , Username , Password kendi smtp ayarlarınızı girmeyi unutmayın.SMTP Port 587 dir.
Re: SSL ile mail gönderme
DLL den önce bence bağlantı ayarlarınızı gözden geçirin.
SSL ile ilgisi yanlış ayar ya da yapılandırma olabilir.
SSL ile ilgisi yanlış ayar ya da yapılandırma olabilir.
... Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!
Mustafa Kemal Atatürk...
Mustafa Kemal Atatürk...