+5 oy
Yazılım

Php ile çok haşır neşir olanların bir gün mutlaka yolu e-posta gönderimine düşer. Bunu da PHPMailer kullanarak zahmetsizce yapabiliyoruz.
PHPMailer kullanarak nasıl smtp e-posta gönderilir hemen geçelim.

Öncelikle PHPMailer nedir ?

PHP programlama dili ile hazırlanmış projelerde kullanabileceğiniz ve gerekli bağlantıları yaparak e-posta gönderimi yapabilen bir sınıftır.
Github linkinden indirebilirsiniz.

Neden PHPMailer ?

Paylaşımlı hostinglerde standart e-posta fonksiyonumuz mail() spama düştüğü için engelleniyor genelde. Biz de buna alternatif olarak sunucuyla Smtp protokolünü kullanarak alışveriş yapan,kimlik doğrulaması yapan bir gönderim scripti kullanmış oluyoruz. İşin özü bu.

Kullanımı

İlk adım

İlk önce yapmanız gereken hostunuz üzerinden bir SMTP oluşturmak ve bilgilerini bir kenara not etmek. Port numarası, e-posta, şifresi bunlar önemli.

İkinci adım
PHPMailer'i indirip kuruyoruz projemize. Github linkini yukarıda verdim.


Üçüncü adım
class.phpmailer.php, class.smtp.php ve class.pop3.php dosyaları mail formuyla aynı klasörde olsunlar.

Sonra gönderim yaptığınız dosyamızı oluşturuyoruz. gonder.php diyelim.
İçerisine formumuzu yazalım ve name'larımızı oluşturalım.
Sonra en alta geçip verimizi çekelim ve kütüphanemizi import edelim gonder.php sayfamıza. Örnek kod:

 

<?php
if (isset($_GET['islem'])) {

  if ($_POST['eposta']<>'' && $_POST['isim']<>'' && $_POST['konu']<>'' && $_POST['mesaj']<>'') {
          require_once("class.phpmailer.php");

$mail = new PHPMailer();

$mail->IsSMTP();

$mail->Host = "mail.alanadiniz.com veya IP";

$mail->SMTPAuth = true;

$mail->Username = "ornek@alanadiniz.com";

$mail->Password = "*********";

$mail->From = "ornek@alanadiniz.com";

$mail->Fromname = $_POST['isim'];

$mail->AddAddress("ornek@alanadiniz.com","Mail gönderimi");

$mail->AddReplyTo('replyto@email.com', 'Reply to name');

$mail->Subject = $_POST['konu'] . $_POST['eposta'];

$mail->Body = $_POST['mesaj'];


if(!$mail->Send())
{
echo '<font color="#F62217"><b>Gönderim Hatası: ' . $mail->ErrorInfo . '</b></font>';

 exit;
}
echo '<font color="#41A317"><b>Mesaj başarıyla gönderildi.</b></font>';
} else {
echo '<font color="#F62217"><b>Tüm alanların doldurulması zorunludur.</b></font>';

}
}
?>

Bunu yaptıktan sonra forma gelen veri eğer smtp bilgileriniz eksiksiz doğruysa e-posta olarak ulaşacaktır.

Bu başlığa cevap vermek için lütfen giriş yapınız veya kayıt olunuz.

...