İxirhost

Php Smtp FormMail ile Mail Göndermek

Bildiğiniz üzere spam mail gönderimlerinin önüne geçebilmek adına bir çok hosting firması sunucularında php mail(); fonksiyonunu engellemektedir. Bu fonksiyon herhangi bir doğrulama üzerinden mail çıkarmadığı için mailler spam olarak sunucudan çıkabilmekte ve ciddi spam mail trafiği oluşabilmektedir. Ayrıca sunucu mail ip adresleri bu yüzden blacklist’e girebilmektedir. Bu fonsiyon engellendiği için dolayısıyla formmail sistemleri üzerinden mail göndermede sorun oluşabilmektedir. Sizlere hazırlamış olduğumuz bu makalede ise Php Smtp FormMail ile Mail Gönderme işlemini nasıl yapabileceğinizden bahsedeceğiz.

Öncelikle PHPMailer kütüphanesini buradan indirebilirsiniz.

.rar içerisinden çıkan class.phpmailer.php, class.smtp.php ve class.pop3.php dosyalarını mail formumuz ile aynı dizine atıyoruz.

Mail formumuzun kodları:

<!doctype html>
<html lang=”tr”>
<head>
<meta charset=”utf-8″>
<meta name=”viewport” content=”width=device-width, initial-scale=1, shrink-to-fit=no”>
<!– Bootstrap CSS –>
<link rel=”stylesheet” type=”text/css” href=”https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css” />
</head>
<body>

<!– Bootstrap Responsive İletişim Formu Start *** –>
<br /> <!– Bir satır boşluk –>
<h1 style=”text-align:center;”>İletişim Formu</h1> <!– Form başlığı –>
<br /> <!– Bir satır boşluk –>
<div class=”container-fluid”>
<div class=”row”>
<div class=”col-md-4″></div> <!– 4 sütun Sol Tarafa Boş Verdik –>
<div class=”col-md-4″> <!– 4 Sütun Ortaladık Başlangıcı –>

<form action=”contact.php” method=”post”> <!– Form Başlangıcı –>

<div class=”form-group”> <!– Ad Soyad Text Alanı –>
<input required=”required” name=”AdiSoyadi” type=”text” class=”form-control” placeholder=”Adınız ve Soyadınız”>
<small class=”form-text text-muted”>Lütfen adınızı ve soyadınızı girin.</small>
</div> <!– Ad Soyad Text Alanı Bitti –>

<div class=”form-group”> <!– Mail Adresi Text Alanı –>
<input required=”required” name=”MailAdresi” type=”email” class=”form-control” placeholder=”E-Posta Adresiniz”>
<small class=”form-text text-muted”>Lütfen mail adresinizi girin.</small>
</div> <!– Mail Adresi Text Alanı Bitti –>

<div class=”form-group”> <!– Mesaj Konusu Text Alanı –>
<input required=”required” name=”MesajKonusu” type=”text” class=”form-control” placeholder=”Mesajınızın Konusu”>
<small class=”form-text text-muted”>Lütfen mesajınızın konusunu girin.</small>
</div> <!– Mesaj Konusu Text Alanı Bitti –>

<div class=”form-group”> <!– Mesaj Text Alanı –>
<textarea rows=”6″ cols=”10″ name=”Mesaj” required=”required” class=”form-control” placeholder=”Mesajınızını Yazın”></textarea>
</div> <!– Mesaj Text Alanı Bitti –>

<button type=”reset” class=”btn btn-success”>Temizle</button> <!– Form Temizleme Butonu –>
<button type=”submit” class=”btn btn-primary”>Gönder</button> <!– Form Gönderme Butonu –>

</form> <!– Form Bitiş –>

</div> <!– 6 Sütun Ortaladık Tamamlandı –>
<div class=”col-md-4″></div> <!– 4 sütun Sol Tarafa Boş Verdik –>
</div>
</div>
<!– Bootstrap Responsive İletişim Formu End *** –>

</body>
</html>

<?php
error_reporting(0); //Hataları Gizle
//Form’dan Bütün Değerler Post Methodu ile Çekiliyor
$AdiSoyadi = trim(strip_tags($_POST[‘AdiSoyadi’]));
$MailAdresi = trim(strip_tags($_POST[‘MailAdresi’]));
$MesajKonusu = trim(strip_tags($_POST[‘MesajKonusu’]));
$Mesaj = trim(strip_tags($_POST[‘Mesaj’]));
//Form’dan Bütün Değerler Post Methodu ile Çekiliyor Tamamlandı

if($AdiSoyadi and $MailAdresi and $MesajKonusu and $Mesaj){ //Form’dan bütün değerler geliyorsa mail gönderme işlemini başlatıyoruz.

$Mesaj = ”
Adı soyadı: $AdiSoyadi
Mail Adresi : $MailAdresi
Mail Konusu : $MesajKonusu
Mesaj : $Mesaj
“;

//Php Smtp Mailler Sınıfını Sayfaya Dahil Ediyoruz
include (‘phpmail/class.phpmailer.php’);
include (‘phpmail/class.smtp.php’);
//Php Smtp Mailler Sınıfını Sayfaya Dahil Ediyoruz Tamamlandı

//Mail Bağlantı Ayarları
//Mail Hangi Hesaptan Gönderilecek ise onun bilgilerini yazın.
$MailSmtpHost = “localhost”;
$MailUserName = “mail adresiniz”;
$MailPassword = “mail şifreniz”;
//Mail Bağlantı Ayarları Tamamlandı

//Doldurulan Form Mail Olarak Kime Gidecek?
$MailKimeGidecek = “gidecekolan@mailadresi.com”;
//Doldurulan Form Mail Olarak Kime Gidecek Tamamlandı

$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->Host = $MailSmtpHost; //Smtp Host
$mail->SMTPSecure = ‘tls’; //yada tls
$mail->Port = 25; //SSL kullanacaksanız portu 465 olarak değiştiriniz – TLS Portu 587
$mail->Username = $MailUserName; //Smtp Kullanıcı Adı
$mail->Password = $MailPassword; //Smtp Parola
$mail->SetFrom($mail->Username, ‘Benim Adım’);
$mail->AddAddress(“$MailKimeGidecek”, ‘Ahmet Kaplan’); //Mailin Gideceği Adres ve Alıcı Adı
$mail->CharSet = ‘UTF-8’; //Mail Karakter Seti
$mail->Subject = $MesajKonusu; //Mail Konu Başlığı
$mail->MsgHTML(“$Mesaj”); //Mail Mesaj İçeriği
if($mail->Send()) {
echo ‘<script>alert(“Mail gönderildi!”);</script>’;
echo ‘<script>document.location=”contact.php”</script>’;
} else {
echo ‘Mail gönderilirken bir hata oluştu: ‘ . $mail->ErrorInfo;
}

} //Mail gönderme işlemi tamamlandı end.if

?>

Ücretsiz mail hizmeti veren yerlerin smtp ayarları

Gmail

SMTP Host: smtp.gmail.com
Type of Encryption: TLS
SMTP Port: 587

Yandex

SMTP Host: smtp.yandex.com
Type of Encryption: TLS
SMTP Port: 587

Yahoo

SMTP Host: smtp.mail.yahoo.com
Type of Encryption: SSL
SMTP Port: 465

Hotmail

SMTP Host: smtp.live.com
Type of Encryption: TLS
SMTP Port: 587

Outlook

SMTP Host: smtp-mail.outlook.com
Type of Encryption: TLS
SMTP Port: 587

Office 365

SMTP Host: smtp.office365.com
Type of Encryption: TLS
SMTP Port: 587

AOL

SMTP Host: smtp.aol.com
Type of Encryption: TLS
SMTP Port: 587


Limitsiz Hosting

İlgili Makaleler