Mail Gönderme
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Mail Gönderme
Merhabalar;
Öncelikle herkese kolaylıklar diliyorum. iki haftadır formu ve net alemini didik didik ettim. aşağı yukarı verilen tüm kodlar aynı. hatta about.com dan Zarko ... nin de çalıştığını iddaa ettiği programını indirdim. bir türlü başaramadım. denemediğim port numarası kalmadı. Acaba kodlar doğruda benim maildemi bir sorun var diye onu da inceledim. asp.net tte yazdım kodları aynı mail adresi canavar gibi çalışıyor. Creamail die bir ücretsiz program var onu da kurdum denedim hiç problem yok. Allah rızası için şu kodlara bakar mısınız.
procedure TForm1.Button1Click(Sender: TObject);
begin
IdSMTP1.AuthenticationType:=atlogin;
IdSMTP1.Host:='smtp.gmail.com';
IdSMTP1.Username:='aydogan46@gmail.com';
IdSMTP1.Password:='xxx';
IdSMTP1.Port:=587;
//mesaj
IdMessage1.From.Address:='aydogan46@gmail.com';
IdMessage1.From.Name:='Mehmet AYDOĞAN';
IdMessage1.ReceiptRecipient.Address:='aydogan46@hotmail.com';
IdMessage1.Subject:='konu monu yok';
IdMessage1.Body.Text:='Deneme amaçlı şeyler şte';
IdSMTP1.Connect(1000);
IdSMTP1.Authenticate;
IdSMTP1.Send(IdMessage1);
showmessage('Mesaj Gönderildi');
end;
end.
Sorun: Port no=25 yaptığımda 'EidSocketError Socketerror 10053" hatasını
port no=587 yaptığımda da EidprotocolReplyError with message 5.7.0. Must issue a STARTTLS.
ilginçtir ;
IdSMTP1.AuthenticationType:=atlogin;
IdSMTP1.Host:='smtp.gmail.com';
IdSMTP1.Username:='aydogan46@gmail.com';
IdSMTP1.Password:='xxx';
IdSMTP1.Port:=587;
IdSMTP1.connect;
showmessage('Bağlantı Sağlandı') olarak değiştirdiğim de bağlantı sağlantı mesajını alıyorum.
Şimdiden teşekkür ediyorum.
Öncelikle herkese kolaylıklar diliyorum. iki haftadır formu ve net alemini didik didik ettim. aşağı yukarı verilen tüm kodlar aynı. hatta about.com dan Zarko ... nin de çalıştığını iddaa ettiği programını indirdim. bir türlü başaramadım. denemediğim port numarası kalmadı. Acaba kodlar doğruda benim maildemi bir sorun var diye onu da inceledim. asp.net tte yazdım kodları aynı mail adresi canavar gibi çalışıyor. Creamail die bir ücretsiz program var onu da kurdum denedim hiç problem yok. Allah rızası için şu kodlara bakar mısınız.
procedure TForm1.Button1Click(Sender: TObject);
begin
IdSMTP1.AuthenticationType:=atlogin;
IdSMTP1.Host:='smtp.gmail.com';
IdSMTP1.Username:='aydogan46@gmail.com';
IdSMTP1.Password:='xxx';
IdSMTP1.Port:=587;
//mesaj
IdMessage1.From.Address:='aydogan46@gmail.com';
IdMessage1.From.Name:='Mehmet AYDOĞAN';
IdMessage1.ReceiptRecipient.Address:='aydogan46@hotmail.com';
IdMessage1.Subject:='konu monu yok';
IdMessage1.Body.Text:='Deneme amaçlı şeyler şte';
IdSMTP1.Connect(1000);
IdSMTP1.Authenticate;
IdSMTP1.Send(IdMessage1);
showmessage('Mesaj Gönderildi');
end;
end.
Sorun: Port no=25 yaptığımda 'EidSocketError Socketerror 10053" hatasını
port no=587 yaptığımda da EidprotocolReplyError with message 5.7.0. Must issue a STARTTLS.
ilginçtir ;
IdSMTP1.AuthenticationType:=atlogin;
IdSMTP1.Host:='smtp.gmail.com';
IdSMTP1.Username:='aydogan46@gmail.com';
IdSMTP1.Password:='xxx';
IdSMTP1.Port:=587;
IdSMTP1.connect;
showmessage('Bağlantı Sağlandı') olarak değiştirdiğim de bağlantı sağlantı mesajını alıyorum.
Şimdiden teşekkür ediyorum.
gmail SSL protokolünü kullanıyor,
Open Ssl için projenin bulunduğu klasöre libeay32.dll ve ssleay32.dll dll lerini almalısın.
indy son versiyonunda destekliyor zaten yanlış hatırlamıyorsam..
Kod: Tümünü seç
var
SMTP : TIdSMTP;
OpenSSL : TIdSSLIOHandlerSocketOpenSSL;
begin
OpenSSL := TIdSSLIOHandlerSocketOpenSSL.Create;
OpenSSL.Host := 'smtp.gmail.com';
OpenSSL.Port := 465;
SMTP := TIdSMTP.Create();
SMTP.IOHandler := OpenSSL;
...
..
indy son versiyonunda destekliyor zaten yanlış hatırlamıyorsam..
bu konuya bağlı olarak bir soru sormak istiyorum.
diyelim ki bu şekilde programın içine bir mail hesabının kullanıcı adı ve şifresini gömdük. (şu anda o tip bir W32 program yazıyorum ve programda hesap açıldığında ya da şifre unutulma durumunda programın içinden mail göndertiyorum.)
Dos zamanını hatırlayan var mı bilmem "pcTools" diye birşey vardı, exe'leri com'ları açar, içinde derlenmemiş İngilizce kısımları bulur, Türkçe karşılık yazardık.
O şekilde "kötü niyetli kişiler" o mail adresinin şifresine ulaşabilirler mi?
diyelim ki bu şekilde programın içine bir mail hesabının kullanıcı adı ve şifresini gömdük. (şu anda o tip bir W32 program yazıyorum ve programda hesap açıldığında ya da şifre unutulma durumunda programın içinden mail göndertiyorum.)
Dos zamanını hatırlayan var mı bilmem "pcTools" diye birşey vardı, exe'leri com'ları açar, içinde derlenmemiş İngilizce kısımları bulur, Türkçe karşılık yazardık.
O şekilde "kötü niyetli kişiler" o mail adresinin şifresine ulaşabilirler mi?
Alper Şirvan
Şair, yazar, ressam.. 3 kitabı var...
Yazılımcı... Kamuda memur...
Galatasaray'lı... Spor aşığı...
Güneş Enerjili Tekerlekli Sandalyenin
Fikir Babası...
Şair, yazar, ressam.. 3 kitabı var...
Yazılımcı... Kamuda memur...
Galatasaray'lı... Spor aşığı...
Güneş Enerjili Tekerlekli Sandalyenin
Fikir Babası...
s.a.
eğer şfireyi şifrelemeden yazarsanız elbetteki ulaşabilirler.
velvki şifreyi şifreleseniz bile kötü niyetli pis insanlar (
) gene oşifreyi bulabilirler çünkü şifrelenmiş şifreyi göndermeden önce şifresini çözmeniz gerekir.
çok şifreli bi mesaj oldu
kolay gelsin.
eğer şfireyi şifrelemeden yazarsanız elbetteki ulaşabilirler.
velvki şifreyi şifreleseniz bile kötü niyetli pis insanlar (

çok şifreli bi mesaj oldu

kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
kırılmayacak şifre yoksairalper yazdı:bu konuya bağlı olarak bir soru sormak istiyorum.
diyelim ki bu şekilde programın içine bir mail hesabının kullanıcı adı ve şifresini gömdük. (şu anda o tip bir W32 program yazıyorum ve programda hesap açıldığında ya da şifre unutulma durumunda programın içinden mail göndertiyorum.)
Dos zamanını hatırlayan var mı bilmem "pcTools" diye birşey vardı, exe'leri com'ları açar, içinde derlenmemiş İngilizce kısımları bulur, Türkçe karşılık yazardık.
O şekilde "kötü niyetli kişiler" o mail adresinin şifresine ulaşabilirler mi?
ama şifre=abd yerine şifre=#65#66#67 gibi açık olmaya string iyi bir adımdır. genede md5 yada bunun gibi bir yöntemle şifrelemek sağlam olur (ancak md5 gibi yöntemleri şifre elle tekrar elle istenecekse kullabnın)
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
Şu mail atma mevzuu delphi alakalı forumlarda birçok kez ve hep aynı soru soruluyor ve ben daha adam akıllı yazılmış bir cevap görmedim.Daha öncede yazdım artık SSH TLS gibi güvenli bağlantı kullanan servislere mail atmak standart indy komutları ile mümkün değil.Lazio bir örnek vermiş gerçi...
Gerekli bileşenler indy10 ile birlikte geliyor...OpenSSL de internetten indirmen gerekiyor.Lazio'nun verdiği örneği denemedim sen bi dene yaparsan çözümünüde paylaş bi zahmet çünkü daha çok sorulacak bu mevzu
Gerekli bileşenler indy10 ile birlikte geliyor...OpenSSL de internetten indirmen gerekiyor.Lazio'nun verdiği örneği denemedim sen bi dene yaparsan çözümünüde paylaş bi zahmet çünkü daha çok sorulacak bu mevzu

- loribnaczo54
- Üye
- Mesajlar: 60
- Kayıt: 24 Nis 2006 07:42
- Konum: Bahçelievler/İst.
Kod: Tümünü seç
var
Outlook, MailItem: OLEVariant;
pCh1: PChar;
Metin : String;
begin
//************* 1.Gönderme Biçimi . ************************
// Metin := 'mailto:'+E_to.Text+'?subject='+E_subject.Text+'&body='+E_body.Text+'&file="'+E_filename.Text+'" ';
// pCh1 := pChar(Metin);
// ShellExecute(0, 'open', pCh1 , nil, nil, SW_SHOWNORMAL);
// ChDir(AktifDizin);
//************* 2.Gönderme Biçimi . ************************
// outlook vasıtasıyla ... kullanılabilir. fakat outlook kurulu olması gerkeiyor.
// bir de izin sorunu yaşanıyor...
{
try
Outlook := GetActiveOleObject('Outlook.Application');
except
Outlook := CreateOleObject('Outlook.Application');
end;
MailItem := Outlook.CreateItem(olMailItem);
MailItem.Recipients.Add(''+E_to.Text+'');
MailItem.Subject := 'your subject';
MailItem.Body := 'Welcome to my homepage: http://www.scalabium.com';
MailItem.Attachments.Add('C:\Windows\Win.ini');
MailItem.Send;
Outlook := Unassigned;
}
//************** 3.Gönderme Biçimi *************************
// en ideal i host u kullanıcıyı kendin tanıtıyosun. iş bitiyor...
procedure EmailGonder;
Var
IdSMTP : TIdSMTP;
IdMessage : TIdMessage;
HTMLpart : TIdText;
Attachment : TIdAttachment;
GideceklerListesi : String;
p, i : integer;
gidecek: string;
begin
// Mail Server Ayarları
IdSMTP := TIdSMTP.Create(Nil);
IdSMTP.AuthenticationType := atLogin;
IdSMTP.Host := E_host.Text;
IdSMTP.Username := E_username.Text;
IdSMTP.Password := E_password.Text;
if E_port.Text = EmptyStr then
IdSMTP.Port := 25
else
IdSMTP.Port := StrToInt( E_port.Text);
// Mail Body işlemleri
IdMessage := TIdMessage.Create( nil );
IdMessage.From.Name := E_fromname.Text;
IdMessage.From.Address := E_fromadress.Text;
// Gidecekler Listesi Hazırlanıyor...
GideceklerListesi := E_to.Text;
i:=0;
if Pos(',', GideceklerListesi)>0 then
begin
while Pos(',', GideceklerListesi)>0 do
begin
// Çoklu Kişiye Gönderim
p:=pos(',',GideceklerListesi);
gidecek:=(copy(GideceklerListesi,1,p-1));
IdMessage.Recipients.Add;
// IdMessage.Recipients[i].Name := Trim(gidecek);
IdMessage.Recipients[i].Address := Trim(gidecek);
Delete(GideceklerListesi,1,p);
i := i + 1;
end;
end else
begin
if E_to.Text <> emptystr then
begin
// Sadece Bir Kişiye Gönderim...
IdMessage.Recipients.Add;
IdMessage.Recipients[0].Name := 'İsim';
IdMessage.Recipients[0].Address := 'Email';
end;
end;
IdMessage.Subject := E_subject.Text;
IdMessage.ContentType := E_contenttype.Text; // genelde://multipart/mixed
IdMessage.CharSet := E_charset.Text; // genelde :iso-8859-9
HTMLpart := TIdText.Create( IdMessage.MessageParts );
HTMLpart.ContentType := 'text/plain';
HTMLpart.Body.Text := '';
HTMLpart.ContentTransfer := 'quoted-printable';
HTMLpart := TIdText.Create( IdMessage.MessageParts );
HTMLpart.ContentType := 'text/html';
HTMLpart.ContentTransfer := 'quoted-printable';
HTMLpart.Body := E_body.Lines;
{
// HTML formatında bir body göndermek için gerekli kodlar
With HTMLpart.Body do begin
Clear;
Add('<html>');
Add('<head>');
Add('<title>Test</title>');
Add('</head>');
Add('<body>');
Add('<h1>hede hödö</h1>');
Add('<h2>Delphi Türkiye</h2>');
Add('<a href="www.delphiturkiye.com/forum">delphiturkiye forum</a>');
Add('<center><img src="cid:BizimResim.BMP"></center>');
Add('<a href="www.delphiturkiye.com/forum">delphiturkiye forum</a>');
Add('</body>');
Add('</html>');
end;
}
Attachment := TIdAttachment.Create( IdMessage.MessageParts, E_filename.Text );
// Attachment.ContentType := 'image/bmp';
Attachment.ContentDisposition := 'attachment';
Attachment.ExtraHeaders.Values['content-id'] := E_filename.Text;
IdSMTP.Connect;
IdSMTP.Authenticate;
IdSMTP.Send( IdMessage );
IdSMTP.Disconnect;
Attachment.Free;
IdMessage.Free;
IdSMTP.Free;
end;
denemediklerimi mutlaka deniyeceğim.
ama sanırım siteye site.com/yolla.php?konu=xx&metin=yy türü bir şey koymak en kolay yol...
ilgilenen herkese teşekkürler...
ama sanırım siteye site.com/yolla.php?konu=xx&metin=yy türü bir şey koymak en kolay yol...

ilgilenen herkese teşekkürler...
Alper Şirvan
Şair, yazar, ressam.. 3 kitabı var...
Yazılımcı... Kamuda memur...
Galatasaray'lı... Spor aşığı...
Güneş Enerjili Tekerlekli Sandalyenin
Fikir Babası...
Şair, yazar, ressam.. 3 kitabı var...
Yazılımcı... Kamuda memur...
Galatasaray'lı... Spor aşığı...
Güneş Enerjili Tekerlekli Sandalyenin
Fikir Babası...
Herkese kolay gelsin. Forumdaki kodlardan yaralanarak mail gönderme işlemi yapmaya çalıştım ancak sonuca varamadım
Delphi 7 kullanıyorum. Yazmış olduğum kod şu şekilde :
Yardımcı olursanız sevinirim. Kolay gelsin

Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
begin
IdSMTP1.AuthenticationType:=atlogin;
IdSMTP1.Host:='gonderenmailadresi@hotmail.com';
IdSMTP1.Username:='gonderenmailadresi@hotmailcom';
IdSMTP1.Password:='gonderenmaildifresi';
IdSMTP1.Port:=465;
//mesaj
IdMessage1.From.Address:='aliciadres@hotmail.com';
IdMessage1.From.Name:='İsim';
IdMessage1.ReceiptRecipient.Address:='gonderenadres@hotmail.com';
IdMessage1.Subject:='Konu';
IdMessage1.Body.Text:='Deneme';
IdSMTP1.Connect(1000);
IdSMTP1.Authenticate;
IdSMTP1.Send(IdMessage1);
showmessage('Mesaj Gönderildi');
end;