SMTPLIB Nedir?
SMTP (simple mail transfer protocol) protokollerini kullanarak posta sunucuları arasında Python aracılığı ile e-posta gönderimine olanak sağlayan bir modüldür.
Öncelikle örneğimizde googleyi kullanacağımız için "2 adımlı doğrulama kodu" oluşturmamız gerekiyor. Bu google’nin güvenlik yöntemlerinden biridir. Adımları takip ediyoruz.
Not: Gmail kullanmayacak arkadaşların bu adımları takip etmesine gerek yoktur, direk program yazım kısmına geçebilirler.
1) https://accounts.google.com/SmsAuthConfig adresine giriyoruz. Burada "Kurulumu Başlat" butonuna tıklıyoruz.
2) (Eğer daha önce aktif ettiyseniz direk 4. adıma gidin) Gelen ekrana telefon numaranızı giriniz. Bu hesabınızı doğrulayacaktır. Daha sonra telefonunuza gelen güvenlik kodunu giriniz.
SMTP (simple mail transfer protocol) protokollerini kullanarak posta sunucuları arasında Python aracılığı ile e-posta gönderimine olanak sağlayan bir modüldür.
Öncelikle örneğimizde googleyi kullanacağımız için "2 adımlı doğrulama kodu" oluşturmamız gerekiyor. Bu google’nin güvenlik yöntemlerinden biridir. Adımları takip ediyoruz.
Not: Gmail kullanmayacak arkadaşların bu adımları takip etmesine gerek yoktur, direk program yazım kısmına geçebilirler.
1) https://accounts.google.com/SmsAuthConfig adresine giriyoruz. Burada "Kurulumu Başlat" butonuna tıklıyoruz.
Bu resim yeniden boyutlandırıldı, tam halini görmek için tıklayınız. |
2) (Eğer daha önce aktif ettiyseniz direk 4. adıma gidin) Gelen ekrana telefon numaranızı giriniz. Bu hesabınızı doğrulayacaktır. Daha sonra telefonunuza gelen güvenlik kodunu giriniz.
3) Gelen kodu girdikten sonra size kullandığınız bilgisayarın güvenli olup olmadığını soracak. Siz tercihinize göre devam edin. Daha sonra "Onayla" diyerek doğrulamayı aktif edin.
4) Karşımıza 2 adımlı doğrulama sitemi geldi. Şimdi Python ile Mail gönderebilmek için bir uygulama şifresi oluşturacağız. "Uygulamaya Özel Şifreler" dedikten sonra "Uygulamaya Özel Şifreleri Yönet" diyoruz.
5) Cihaz seçin yazan kısmı "diğer" olarak işaretledikten sonra istediğimiz ismi yazıyoruz ve "Oluştur" diyoruz.
6) Sonuç olarak şifremiz oluşturuluyor. bu kodu kaybetmeyin, bir kenara not edin.
7) "Tamamlandı" deyip çıkıyoruz. Artık programımızı yazma vakti.
Program Yazım Süreci
Her modül gibi smtplib modülü de "import smtplib" denerek içeri aktarılır. Daha sonra gönderici ve alıcı taslakları oluşturulur.
Burada gonderici_sifre yazan yer, bizim kullanacağımız hesabın şifresidir. Eğer gmail kullanılıyorsa oluşturduğumuz "2 adımlı doğrulama kodu" buraya yazılacaktır. Eğer normal bir sunucu kullanılıyorsa e-posta şifresi yazılabilir. alicilar değişkeni ise bir listedir. Bu, çoklu alıcı ekleyebileceğimiz anlamına geliyor.
Şimdi yapmamız gereken şey bir taslak oluşturmak. Dananın kuyruğunun koptuğu yer ise burada işte.
İlk 3 satır önemli, burası giden mail için bilgi kısımları. Bir çok kullanıcı bu kısımları eklemediği için giden mesaj düzensiz olarak gitmekte. ilk satırda ki <> işaretleri arasına kendi e-mail adresimizi, 2. satırda ki işaretlerin arasına da alıcının e mail adresini yazıyoruz. 3. satırda ki Subject ise konuyu belirler. From Person yerine kendi adımızı, To Person yerine ise alıcının adını yazıyoruz.
Burası da tamam ise sunucularımızı başlatalım ve gmail için giriş yapalım.
Eğer gmail sunucularını kullanacak ise tırnak içerisine smtp.gmail.com yazacağız. Bu durumda gmail’ın veri akış portu 587. port olduğu için bunu yazıyoruz. Farklı posta hizmetlerinin portları da farklı (yandex, hotmail, outlook vs). Son olarak mesajımızı gönderiyoruz ve quit diyerek serverı kapatıyoruz.
Ben konsol üzerinde sonuçları göstermek için try/except blokları arasına aldım. Kodun son hali..
Sonuç;
Kontrol edelim;
Görüldüğü gibi sıkıntısız bir şekilde e-posta gönderildi.
Bu resim yeniden boyutlandırıldı, tam halini görmek için tıklayınız. |
4) Karşımıza 2 adımlı doğrulama sitemi geldi. Şimdi Python ile Mail gönderebilmek için bir uygulama şifresi oluşturacağız. "Uygulamaya Özel Şifreler" dedikten sonra "Uygulamaya Özel Şifreleri Yönet" diyoruz.
Bu resim yeniden boyutlandırıldı, tam halini görmek için tıklayınız. |
5) Cihaz seçin yazan kısmı "diğer" olarak işaretledikten sonra istediğimiz ismi yazıyoruz ve "Oluştur" diyoruz.
Bu resim yeniden boyutlandırıldı, tam halini görmek için tıklayınız. |
6) Sonuç olarak şifremiz oluşturuluyor. bu kodu kaybetmeyin, bir kenara not edin.
Bu resim yeniden boyutlandırıldı, tam halini görmek için tıklayınız. |
7) "Tamamlandı" deyip çıkıyoruz. Artık programımızı yazma vakti.
Program Yazım Süreci
Her modül gibi smtplib modülü de "import smtplib" denerek içeri aktarılır. Daha sonra gönderici ve alıcı taslakları oluşturulur.
Burada gonderici_sifre yazan yer, bizim kullanacağımız hesabın şifresidir. Eğer gmail kullanılıyorsa oluşturduğumuz "2 adımlı doğrulama kodu" buraya yazılacaktır. Eğer normal bir sunucu kullanılıyorsa e-posta şifresi yazılabilir. alicilar değişkeni ise bir listedir. Bu, çoklu alıcı ekleyebileceğimiz anlamına geliyor.
Şimdi yapmamız gereken şey bir taslak oluşturmak. Dananın kuyruğunun koptuğu yer ise burada işte.
İlk 3 satır önemli, burası giden mail için bilgi kısımları. Bir çok kullanıcı bu kısımları eklemediği için giden mesaj düzensiz olarak gitmekte. ilk satırda ki <> işaretleri arasına kendi e-mail adresimizi, 2. satırda ki işaretlerin arasına da alıcının e mail adresini yazıyoruz. 3. satırda ki Subject ise konuyu belirler. From Person yerine kendi adımızı, To Person yerine ise alıcının adını yazıyoruz.
Burası da tamam ise sunucularımızı başlatalım ve gmail için giriş yapalım.
Eğer gmail sunucularını kullanacak ise tırnak içerisine smtp.gmail.com yazacağız. Bu durumda gmail’ın veri akış portu 587. port olduğu için bunu yazıyoruz. Farklı posta hizmetlerinin portları da farklı (yandex, hotmail, outlook vs). Son olarak mesajımızı gönderiyoruz ve quit diyerek serverı kapatıyoruz.
Ben konsol üzerinde sonuçları göstermek için try/except blokları arasına aldım. Kodun son hali..
Sonuç;
Kontrol edelim;
Bu resim yeniden boyutlandırıldı, tam halini görmek için tıklayınız. |
Bu resim yeniden boyutlandırıldı, tam halini görmek için tıklayınız. |
Görüldüğü gibi sıkıntısız bir şekilde e-posta gönderildi.
0 Yorumlar
Yorumunuz İçin Teşekkür Ederiz