Merhabalar bugün sizlere PHP ve C# dilleri arasında bağlantı kurarak API kullanımı hakkında mail gönderme fonksiyonu üzerinde değerli dostum @'CaptainKanka ile yapmış olduğumuz çalışmayı paylaşacağım. Bildiğiniz gibi Google Mail üçüncül şahıslara mail transferi işlemlerini kısıtladı. Ben de ne yapabiliriz diye düşünürken bu yöntemi bulduk. Ufak bir uyarı ücretsiz hosting sitelerinde PHP kodlarının çoğu çalışmıyor çünkü Türkiye üzerinde engelli. Engeli aşmak için VPN kullanmanız lazım. Biz gerçek bir site üzerinde işlemi gerçekleştirdik. Aynı işleve yarayan pek çok fonksiyonu google arama motoru üzerinde aratarak bulabilirsiniz.
Öncelikle aşağıda vermiş olduğum dosyayı üzerinde yapılacak küçük değişiklikler ile beraber sitenize yükleyin. (Yapacağınız değişiklikleri aşağıda anlatacağım.)
TIKLA İNDİR!
Virus Total
Yapacağınız değişiklikler ilk olarak dosyayı arşivden çıkarttığınızda mail.php üzerinde olacak.
-> Bu alanda SMTP yani maili gönderecek mailin e-postası ve şifresi
-> SSL sertifikası varsa bu alanda değişimler olacak. Gönderim portu da dahil.
-> Bu kısımda da gönderim yapacak mail yerine yine SMTP gönderici maili girilecek.
-> Bu alana mailin başlığı girilecek.
-> Son olarak buraya da şifre girilecek URL'de gelen şifre ile bu şifre kontrol edilir aynıysa işlem devam eder.
Buraya kadar yaptığınız değişiklikler tamamsa şimdi bunu C# üzerine yansıtalım bakalım mail gelecek mi?
Kullanacağımız fonksiyon URL üzerine istek yaptırarak ve GET metodunu kullanarak gerçekleşecek.
Şimdi bir form açıyorum ve bir adet buton koyuyorum buton içerisine vereceğim kod;
Burada dikkat edeceğim ayrıntı;
URL içerisine yer alan kısımlarda sifre yazan yere sitenizin şifresi, mail yazan yere hedef mail, icerik yazan yere de yazmak istediğiniz mesajı yazacaksınız bunu Textbox ögesine bağlayabilirsiniz. Mesela 3 adet Textbox ögesi koydum ve isimlerini sırasıyla sifre, mail, icerik yaptım bunu Request modülüme bağladım. Bu sayede istediğim maile istediğim içerikte farklı mesajlar gönderebileceğim. Atmış olduğunuz mail spam veya gereksiz klasörüne gelmektedir bilginiz olsun.
Unutmadan ekleyeceğim kütüphaneler listesi bunları eklemezsek kodumuz hata verir;
Butonumuza tıklayalım bakalım mailimiz gelmiş mi?
-SON-
Öncelikle aşağıda vermiş olduğum dosyayı üzerinde yapılacak küçük değişiklikler ile beraber sitenize yükleyin. (Yapacağınız değişiklikleri aşağıda anlatacağım.)
TIKLA İNDİR!
Virus Total
Yapacağınız değişiklikler ilk olarak dosyayı arşivden çıkarttığınızda mail.php üzerinde olacak.
-> Bu alanda SMTP yani maili gönderecek mailin e-postası ve şifresi
PHP:
$mail->Username = 'gö[email protected]'; // SMTP username
$mail->Password = 'şifreniz'; // SMTP password
-> SSL sertifikası varsa bu alanda değişimler olacak. Gönderim portu da dahil.
PHP:
$mail->SMTPSecure = 'tls'; // Enable TLS encryption; PHPMailer::ENCRYPTION_SMTPS encouraged
$mail->Port = 587; // TCP port to connect to, use 465
-> Bu kısımda da gönderim yapacak mail yerine yine SMTP gönderici maili girilecek.
PHP:
$mail->setFrom('gö[email protected]', 'Websitesinden mesaj geldi');
-> Bu alana mailin başlığı girilecek.
PHP:
$mail->Subject = "Mesaj Başlığı";
-> Son olarak buraya da şifre girilecek URL'de gelen şifre ile bu şifre kontrol edilir aynıysa işlem devam eder.
PHP:
$sifre="123456789";
Buraya kadar yaptığınız değişiklikler tamamsa şimdi bunu C# üzerine yansıtalım bakalım mail gelecek mi?
Kullanacağımız fonksiyon URL üzerine istek yaptırarak ve GET metodunu kullanarak gerçekleşecek.
Şimdi bir form açıyorum ve bir adet buton koyuyorum buton içerisine vereceğim kod;
C#:
const string url = "https://orneksite.org.tr/mail.php?sifre=123456789&[email protected]&icerik=Helloman";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "GET";
var webResponse = request.GetResponse();
var webStream = webResponse.GetResponseStream();
var responseReader = new StreamReader(webStream);
var response = responseReader.ReadToEnd();
Console.WriteLine("Response: " + response);
responseReader.Close();
Burada dikkat edeceğim ayrıntı;
C#:
const string url = "https://orneksite.org.tr/mail.php?sifre=123456789&[email protected]&icerik=Helloman";
URL içerisine yer alan kısımlarda sifre yazan yere sitenizin şifresi, mail yazan yere hedef mail, icerik yazan yere de yazmak istediğiniz mesajı yazacaksınız bunu Textbox ögesine bağlayabilirsiniz. Mesela 3 adet Textbox ögesi koydum ve isimlerini sırasıyla sifre, mail, icerik yaptım bunu Request modülüme bağladım. Bu sayede istediğim maile istediğim içerikte farklı mesajlar gönderebileceğim. Atmış olduğunuz mail spam veya gereksiz klasörüne gelmektedir bilginiz olsun.
C#:
const string url = "https://ornek.org.tr/mail.php?sifre="+sifre.Text+"&mail="+mail.Text+"&icerik="+icerik.Text;
Unutmadan ekleyeceğim kütüphaneler listesi bunları eklemezsek kodumuz hata verir;
C#:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Net;
using System.IO;
Butonumuza tıklayalım bakalım mailimiz gelmiş mi?
-SON-
Son düzenleme: