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
Tags:
formmailFormMail Örneğiphp formmailSMTPSMTP FormMailSMTP FormMail KodlarıSMTP FormMail ÖrneğiSMTP PHP FormMail
6 thoughts on “Php Smtp FormMail ile Mail Göndermek”
Hocam merhaba konu çok acil. Bir site yapıyorum ve sitede ziyaret talep formu olacak kullanıcı isim soyisim telefon mail okul bilgisi geleceği tarih ve saat kaç kişi geleceği gibi bilgileri girecek o girdiği bilgiler belirlediğim maile gelecek bi kaç şey denedim olmadı yani sonunda mail gelmiyor bunun için bir çözüm varmıdır yardım edin
google üzerinden smtp form mail örnekleri şeklinde arama yaparak örnek formlara ulaşabilirsiniz.
bu maili birden fazla kişiye gitmesini nasıl sağlarız?
Kodlama bilgimiz olmadığı için bu konuda detaylı bilgi verememekteyiz. Webmaster forumlarını araştırarak bilgi edinebilirsiniz.
Merhabalar Poyrazhostingde Kurulum Yaptım Ancak mail() Fonksiyonu Çalıştırma Hatası Veriyor Ne Yapmalıyım ?
Hizmet aldığınız firmadan bu konuda bilgi alabilirsiniz.