indy 10,TLS,SSL ve gmail'den mail gönderme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ng
Üye
Mesajlar: 192
Kayıt: 01 Mar 2004 11:49
Konum: Bursa
İletişim:

indy 10,TLS,SSL ve gmail'den mail gönderme

Mesaj gönderen ng »

Uzun zamandır beni bu kadar uğraştıran bir sorun olmamıştı.
indy 10 kullanarak gmail üzerinden mail göndermeye çalışıyorum, ama başaramadım; Son hali itibari ile gmaile bağlanıyorum ve program donup kalıyor.

SSL, TLS, sslvTLSv1,sslvSSLv2 nedir gibi bu işin temelleri konusunda biraz bilgi verebilcek birileri var mı?

bu konu ile ilgili çalışan bir örnek de çok işime yarar.
powerboss
Üye
Mesajlar: 12
Kayıt: 06 Nis 2008 10:43

Re: indy 10,TLS,SSL ve gmail'den mail gönderme

Mesaj gönderen powerboss »

procedure TForm1.Button1Click(Sender: TObject);
begin
IdSMTP1.Host:='www.mynet.com';
IdSMTP1.AuthenticationType:=atnone;//şifre yok
IdSMTP1.Username:=Edit1.Text;
IdSMTP1.Port:=25;
IdSMTP1.Connect;
IdMessage1.From.Name:=Edit1.Text;
IdMessage1.From.Address:='xxx@mynet.com';
IdMessage1.Subject:=Edit4.Text;//Başlık
IdMessage1.Body.Assign(Memo1.Lines);//Mesaj İçeriği
IdMessage1.ReplyTo.EMailAddresses:='xxxi@mynet.com';
IdMessage1.Recipients.EMailAddresses:=Edit2.Text;//Buraya Yolla
IdMessage1.BccList.EMailAddresses:=Edit3.Text;//Bunlarada gitsin
IdSMTP1.Send(IdMessage1); //yolla
IdSMTP1.Disconnect;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
yol:AnsiString;
begin
if OpenDialog1.Execute Then
yol:=OpenDialog1.FileName;
TIdAttachment.Create(IdMessage1.MessageParts,yol);//ekle
if CheckBox1.Checked=false Then
begin
CheckBox1.Visible:=true;
CheckBox1.Checked:=true;
CheckBox1.Caption:=ExtractFileName(yol);//dosyanın adını yaz
CheckBox1.Enabled:=false;
end
else if CheckBox2.Checked=false Then
begin
CheckBox2.Visible:=true;
CheckBox2.Checked:=true; 328
CheckBox2.Caption:=ExtractFileName(yol);
CheckBox2.Enabled:=false;
end
else if CheckBox3.Checked=false Then
begin
CheckBox3.Visible:=true;
CheckBox3.Checked:=true;
CheckBox3.Caption:=ExtractFileName(yol);
CheckBox3.Enabled:=false;
end
else
showMessage('Maximum 3 Dosya Ekleyebilirsiniz');
Edit5.Text:=yol;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
CheckBox1.Visible:=false;
CheckBox2.Visible:=false;
CheckBox3.Visible:=false;
Edit1.Text:='ayhan karslı';
Edit2.Text:='xxxxx@mynet.com';
Edit3.Text:='xxxxxxx@prestigeturk.com';
Edit4.Text:='Yeni Kitaplar İçin Görüş';
end;
ng
Üye
Mesajlar: 192
Kayıt: 01 Mar 2004 11:49
Konum: Bursa
İletişim:

Re: indy 10,TLS,SSL ve gmail'den mail gönderme

Mesaj gönderen ng »

Cevap için teşekkür ederim. Ancak sorun mail gönderme değil, "gmail üzerinden mail gönderme". Malum gmal SSL(bir çeşit güvenli bağlantı) kullanıyor. Gmail üzerinden mail göndermeye yönelik yardıma ihtiyacım var.
cecihan
Üye
Mesajlar: 94
Kayıt: 30 Ara 2006 11:40
İletişim:

Re: indy 10,TLS,SSL ve gmail'den mail gönderme

Mesaj gönderen cecihan »

Aynı sıkıntı bendede vardı. Superonline ile güvenli posta kutusuna göndermeyi başardım. Ama Gmail'i bir türlü bende başaramadım. Connect oluyor ama mail giderken bir türlü cevap gelmiyordu. Sonra gerekde kalmadı. Ben C++builder kullanıyorum ama aşağıdakilerin biraz yardımı olur. Bu değişikliklerle ben superonline'dan mail gönderebilmiştim.

SSL için formunda IdSSLIOHandlerSocketOpenSSL (Indy I/O Handlers sekmesinde) olması lazım.
SSLOptions->Method:=sslvTLSv1
SSLOptions->Mode:=sslmClient
idSMTP->IOHandler'a dSSLIOHandlerSocketOpenSSL'yi tanıtın.sonra
idSMTP->UseTSL:=utUseExplicitTLS olmalı.

Birde Gmail ssl için 465 nolu portu kullanıyor dediler ama ben o porttan Connct bile olamadım. ama 25nolu port ile oldum.
Umarım yardımı olur bunların.
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: indy 10,TLS,SSL ve gmail'den mail gönderme

Mesaj gönderen Battosai »

Gmail'in port larını doğru girmeniz gerekmektedir. 25. portu zaten kullanmıyor...OpenSource programların kaynak kodlarına bakarakta nasıl yapıldığını görebilirsiniz.Ben şimdiye kadar ok adar mail sorusu gördüm(doğal olarak herkes hemen mail programı yapmaya kalkıyor öğrenirken) daha bu sorunun tam cevabını hiç bir forumda görmedim...bilenler kıskanıyor heral..gerçi ben mail atacak olsam meseleyi çözerim google emmi sayesinde veya opensourcelar ile... sanırım benim bu işe girmemi bekleyecek mail atmaya çalışan arkadaşlar :twisted: :twisted: :twisted:
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: indy 10,TLS,SSL ve gmail'den mail gönderme

Mesaj gönderen Battosai »

Meraktan şöle bi search yaptım şöle bir kaynak buldum...adam bu kod çalışıyor güle güle kullan diyor :) Kodları programına entegre etmek sana kalmış...Ayrıca bu işin gmail tarafında bir ayarı var mı bakmak lazım...
http://www.delphi3000.com/articles/article_4796.asp?SK=
ng
Üye
Mesajlar: 192
Kayıt: 01 Mar 2004 11:49
Konum: Bursa
İletişim:

Re: indy 10,TLS,SSL ve gmail'den mail gönderme

Mesaj gönderen ng »

İlginize teşekkür ederim. Gönderilen linki daha önce bende gördüm, dahası bunun gibi en az 15-20 tane daha inceledim ancak çalıştıramadım. Belki bendeki sistemden kaynaklanıyordur bundan, dolayı TLS,SSL gibi teknolojilerin ne olduğu hakkında bilgi istedim.
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: indy 10,TLS,SSL ve gmail'den mail gönderme

Mesaj gönderen Battosai »

Peki Gmail Ayarlar->Yönlendirme ve POP/IMAP bölümünden POP u etkinleştirdin mi?...
ng
Üye
Mesajlar: 192
Kayıt: 01 Mar 2004 11:49
Konum: Bursa
İletişim:

Re: indy 10,TLS,SSL ve gmail'den mail gönderme

Mesaj gönderen ng »

Hayır. Öyle bir ayar gerektiğini bilmiyordum. Bir deneyeyim bakalım.
Cevapla