PHP ile Email Gönderme
PHP Web dili içinde email gönderme olayını bir proje geliştirmişseniz mutlaka ihtiyaç duymuşsunuzdur. En basitinden kişisel web sitenizini iletişim formunu dolduran ziyaretçinin email adresinize gelmesini isteyebilirsiniz. E-ticaret sitesi yapıyorsanız, işlem tamamladıktan sonra siparişin tamamlandığını kullanıcıya göndermek isteyebilirsiniz.
Eskiden Linux ortamı üzerinde yazdığımız emailleri göndermek için mail() fonksiyonu kullanılıyordu, fakat sunuculardaki kimlik doğrulama ve sahtecilik problemlerinden dolayı artık kullanamıyoruz, çoğu sunucu da artık desteklemiyor.
Bu arada email gönderme ve alma ile ilgili SMTP nedir, POP3 nedir gibi kavramları bildiğinizi varsayıyorum, bilimiyorsanız bir hata mesajı aldığınızda neden kaynaklandığını tespit etmeniz zor olabilir.
Gelelim email sınıfının kullanımına önce aşağıda Kaynaklar bölümünde belirtilen Github adresinden ilgili dosyaları indirelim. Ben wamp içinde www klasöründe email isimli bir klasör açarak dosyaları buraya açtım.
Eskiden Linux ortamı üzerinde yazdığımız emailleri göndermek için mail() fonksiyonu kullanılıyordu, fakat sunuculardaki kimlik doğrulama ve sahtecilik problemlerinden dolayı artık kullanamıyoruz, çoğu sunucu da artık desteklemiyor.
Bu arada email gönderme ve alma ile ilgili SMTP nedir, POP3 nedir gibi kavramları bildiğinizi varsayıyorum, bilimiyorsanız bir hata mesajı aldığınızda neden kaynaklandığını tespit etmeniz zor olabilir.
Gelelim email sınıfının kullanımına önce aşağıda Kaynaklar bölümünde belirtilen Github adresinden ilgili dosyaları indirelim. Ben wamp içinde www klasöründe email isimli bir klasör açarak dosyaları buraya açtım.
Bu örnekte Gmail adresimizi kullanarak email gönderimi yapacağız, siz isterseniz adiniz@sirketadi.com şeklindeki POP3 adresleri de kullanabilirsiniz. Örneğin oguzhantas.com domaini için oluşturduğum info@oguzhantas.com POP3 email adresini kullandım.
index.php içeriği
index.php içeriği
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Kullanıcı Girişi</title>
</head>
<body>
<form action="mailgonder.php" method="POST">
<table align="center">
<tr>
<td>Adı Soyadı (*)</td>
<td><input type="text" name="adisoyadi"></td>
</tr>
<tr>
<td>Telefon (*)</td>
<td><input type="text" name="telefon"></td>
</tr>
<tr>
<td>E-posta</td>
<td>
<input type="text" name="eposta">
</td>
<input type="text" name="eposta">
</td>
</tr>
<tr>
<td>Mesaj</td>
<td>
<textarea name="mesaj" cols="30" rows="10"></textarea>
</td>
<textarea name="mesaj" cols="30" rows="10"></textarea>
</td>
</tr>
<tr>
<td colspan="2" align="right">
<input type="submit" value="Gönder"></td>
<input type="submit" value="Gönder"></td>
</tr>
</table>
</form>
</body>
</html>
mailgonder.php içeriği
<?php
//email gönderimi için gerekli olan dosyaları dahil ediyoruz.
include 'PHPMailer/class.phpmailer.php';
include 'PHPMailer/class.smtp.php';
//İletişim formumuzdan gelen bilgileri alıyoruz.
//İletişim formumuzdan gelen bilgileri alıyoruz.
$adisoyadi=$_POST['adisoyadi'];
$telefon=$_POST['telefon'];
$eposta=$_POST['eposta'];
$mesaj=$_POST['mesaj'];
$mail = new PHPMailer(); //ilgili PHPMailer class'ımızdan bir nesne türetiyoruz.
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->Host = 'smtp.gmail.com'; //SMTP için kullanılacak sunucu adresi
$mail->Port = 587; //TLS protokolünün kullanacağı port numarası
$mail->SMTPSecure = 'tls'; //kullanacağımız güvenlik protokolü SSL veya TLS olabilir.
$mail->Username = 'oguzhantas@gmail.com'; //Email gönderecek adres
$mail->Password = '***********'; ////Email gönderecek adresin şifresi
$mail->SetFrom($mail->Username, 'Oğuzhan TAŞ');
$mail->AddAddress('Gidecek email adresi', '
'); //Bu emaili gideceği e-posta adresi
'); //Bu emaili gideceği e-posta adresi
$mail->CharSet = 'UTF-8'; //Karakterlerin düzgün görünmesi için utf-8 ekliyoruz.
$mail->Subject ="Web sitesinin iletişim bölümünden mesaj var"; //emailimizin konusu
//email içeriğimiz
//email içeriğimiz
$icerik = "Gönderen:".$adisoyadi.
" Telefon:".$telefon.
" E-posta:".$eposta.
" Mesaj:".$mesaj ;
$mail->MsgHTML($icerik);
//Artık emailimizi gönderiyoruz, yukarıdaki bilgilerde bir hata varsa bu satırda hata verecektir.
//Artık emailimizi gönderiyoruz, yukarıdaki bilgilerde bir hata varsa bu satırda hata verecektir.
if($mail->Send()) {
//E-posta gönderildi
echo "Email başarıyla gönderildi";
} else {
// Bir hata oluştu, hata mesajı yazdırıyoruz
echo $mail->ErrorInfo;
}
?>
Mutlu kodlamalar,
Oğuzhan TAŞ
Mart, 2016
KAYNAK
PHP Mailer Class
https://github.com/PHPMailer/PHPMailer
Mutlu kodlamalar,
Oğuzhan TAŞ
Mart, 2016
KAYNAK
PHP Mailer Class
https://github.com/PHPMailer/PHPMailer
Dil Değiştir(Change Language)
Kategoriler
- Csharp(58)
- Csharp Formlar(23)
- Web Tasarım(9)
- CSS(27)
- JavaScript(37)
- PHP(50)
- Laravel(3)
- ASP.net(38)
- Excel(15)
- Güvenlik(4)
- E-Ticaret(3)
- Kariyer(5)
- SQL Server(29)
- MySQL(16)
- Linux(17)
- MacOSX(8)
- Ayarlar(12)
- Bilgisayar Ağları(3)
- Symfony(1)
- Teknoloji(7)
- VBS(1)
- Arduino(6)
- RaspberryPi(1)
- Algoritmalar(15)
- HTML(3)
- Python(2)
- Bash Script(7)
- C Programlama(10)
- Flutter - Dart(11)
- Bootstrap(1)
En çok Okunan 18 Makale
- :: Excelde EĞER Fonksiyonu Kullanımı...
- :: Csharp ile Access Veritabanı Bağlan...
- :: SQL nedir, Temel SQL Komutları nele...
- :: Hangi Linux Dağıtımı?
- :: OSX İşletim Sistemine PHP, MySQL, A...
- :: PHP dilini kullanarak MySQLi tekniğ...
- :: Excel Hesap tablosunda EĞERSAY Fonk...
- :: Excel Hesap tablosunda ÇOKETOPLA Fo...
- :: Excel Hesap tablosunda ETOPLA Fonks...
- :: Excel Hesap tablosunda ÇOKEĞERSAY F...
- :: Hangi Programlama Dilini Öğrenmeliy...
- :: Mac Bilgisayarınıza Windows 7 Yükle...
- :: PHP ile Basit Dosya Yükleme
- :: C# Programlama Dili ile İlgili Örne...
- :: PHP Dili kullanarak MySQLi Tekniği ...
- :: Excel hücrelerinde yıldız koyarak b...
- :: PhpMyAdmin Şifresi Nasıl Değiştiril...
- :: Hangisi acaba, PHP mi ASP.NET mi ?