Follow along with the video below to see how to install our site as a web app on your home screen.
Not: This feature may not be available in some browsers.
<?php
# mesaj sorunsuz bir şekilde giderse, formun altında bir yazı çıkaracağız.
# yazı mesajını da PHP'de oluşturacağız. # Kodların en altına bakarsanız,
# <div> etiketinden önce bir PHP kodu göreceksiniz.
# bu kod PHP içinde olduğu için, daha doğrusu aşağıdaki if döngüsünde
# üretildiği için form sayfası ilk açıldığında hata verir.
# bu nedenle ilk başta if döngüsünden önce boş değerli metin mesajını oluşturuyoruz.
# burada oluşturmazsak (isterseniz silin satırı test edin), formun altında değişen
# bulunamadı diye hata verir.
$gittiMesaji = " ";
# ilk olarak submit diye bir POST değeri var mı diye bakılıyor.
# bunun anlamı da, bu sayfa Gönder butonuna tıklandığında mı gelmiş,
# yoksa sayfa ilk defa mı yükleniyor diyedir.
# eğer sayfa ilk yükleniyorsa, değişken değerleri gelmez.
# değerler olmadığı için de mail gönderme işlemi haliyle hata verecektir.
# bu nedenle bir if döngüsü içinde işlemlerimizi yapıyoruz.
# POST ile gelen submit değeri de <button> etiketinin name değeridir.
# formda yer alan name değerlerini dikkatlice inceleyin.
# eğer submit değeri gelmişse...
# bu submit değeri, butonun typeından gelmektedir.
if (isset($_POST["submit"])) {
# SMTP mail gönderimi yapacak olan sınıf yükleniyor.
require("class.phpmailer.php");
# POST ile gelen değişkenler alınıyor.
# alınan değerler yine aynı isimde PHP değişkenlerine aktarılıyor.
$isimsoyisim = $_POST['isimsoyisim'];
$email = $_POST['email'];
$mesaj = $_POST['mesaj'];
# $mail adında bir PHPMailer sınıfı oluşturuluyor.
# bu isimle sınıfa erişilecek.
$mail = new PHPMailer();
# PHPMailer sınıfı içindeki değişkenlere bazı değerler aktarılıyor.
$mail->IsSMTP();
$mail->SMTPAuth = true;
# tls veya ssl olarak mı gönderileceği belirtiliyor.
# bu seçimlere göre port numaraları değişecek.
$mail->SMTPSecure = 'tls';
# port numaraları veriliyor.
# tls için 587, ssl için 465
$mail->Port = 587;
# Yandex üzerinden mail göndermek istiyorum.
# Yandex'in smtp adresini yazıyorum.
# eğer kendi domaininiz üzerinden göndermek istiyorsanız şu şekilde yazın.
# smtp.domainismi.com
$mail->Host = "smtp.yandex.com";
# Yandex hesabımdaki mail adresimi yazıyorum.
$mail->Username = "a***********[email protected]";
# mail şifremi yazıyorum.
$mail->Password = "K********r";
# mail gönderilirken bu hesaba erişilecek ve bunun üzerinden gönderilecek.
# mail'de görünecek ismi değişken olarak alıyoruz.
$mail->FromName ="$isimsoyisim";
# hangi adresten geldiği de görünecek.
# yine aynı mail adresimizi yazıyoruz.
$mail->SetFrom("a***********[email protected] ");
# görünecek adresi yine aynı yazıyoruz.
$mail->AddAddress("a***********[email protected] ");
# mail başlığını düzenliyoruz.
# SİTE MESAJI -> Uğur GELİŞKEN gibi bir mesaj formatı oluşturuyorum.
$mail->Subject = "SİTE MESAJI -> $isimsoyisim";
# mail içeriğini değişkenden alıyorum.
$mail->Body = "$mesaj";
# mail gönderme işlemi if döngüsü koşulunda yapılıyor, buna dikkat!
# eğer mail gönderilirse true sonucu verecektir bu işlem.
# bu sayede if döngüsü içine girilecek.
# amacımız ziyaretçiyi durumdan haberdar etmek.
if(!$mail->Send()){
# eğer mail gitmemişse hata kodunu yazdırıyoruz.
# ziyaretçi bu mesajı anlamaz ama geliştirici için önemlidir.
echo "Hata: ".$mail->ErrorInfo;
} else {
# mail gitmişse de kodun en başında bahsetmiş olduğum
# mesaj değişkenine değer atanıyor.
# <br> ile bir alt satıra geçilip, bootstrap stili ile bir <p> etiketi oluşturuluyor.
# yeşil uyarı mesajı ile Sayın Uğur GELİŞKEN, mesajınız gönderildi...
# formatı ile mesajımızı yazdırıyoruz.
$gittiMesaji = "<br><p class='bg-success'>Sayın $isimsoyisim,
mesajınız gönderildi...</p>";
}
}
?>
Kod:<?php # mesaj sorunsuz bir şekilde giderse, formun altında bir yazı çıkaracağız. # yazı mesajını da PHP'de oluşturacağız. # Kodların en altına bakarsanız, # <div> etiketinden önce bir PHP kodu göreceksiniz. # bu kod PHP içinde olduğu için, daha doğrusu aşağıdaki if döngüsünde # üretildiği için form sayfası ilk açıldığında hata verir. # bu nedenle ilk başta if döngüsünden önce boş değerli metin mesajını oluşturuyoruz. # burada oluşturmazsak (isterseniz silin satırı test edin), formun altında değişen # bulunamadı diye hata verir. $gittiMesaji = " "; # ilk olarak submit diye bir POST değeri var mı diye bakılıyor. # bunun anlamı da, bu sayfa Gönder butonuna tıklandığında mı gelmiş, # yoksa sayfa ilk defa mı yükleniyor diyedir. # eğer sayfa ilk yükleniyorsa, değişken değerleri gelmez. # değerler olmadığı için de mail gönderme işlemi haliyle hata verecektir. # bu nedenle bir if döngüsü içinde işlemlerimizi yapıyoruz. # POST ile gelen submit değeri de <button> etiketinin name değeridir. # formda yer alan name değerlerini dikkatlice inceleyin. # eğer submit değeri gelmişse... # bu submit değeri, butonun typeından gelmektedir. if (isset($_POST["submit"])) { # SMTP mail gönderimi yapacak olan sınıf yükleniyor. require("class.phpmailer.php"); # POST ile gelen değişkenler alınıyor. # alınan değerler yine aynı isimde PHP değişkenlerine aktarılıyor. $isimsoyisim = $_POST['isimsoyisim']; $email = $_POST['email']; $mesaj = $_POST['mesaj']; # $mail adında bir PHPMailer sınıfı oluşturuluyor. # bu isimle sınıfa erişilecek. $mail = new PHPMailer(); # PHPMailer sınıfı içindeki değişkenlere bazı değerler aktarılıyor. $mail->IsSMTP(); $mail->SMTPAuth = true; # tls veya ssl olarak mı gönderileceği belirtiliyor. # bu seçimlere göre port numaraları değişecek. $mail->SMTPSecure = 'tls'; # port numaraları veriliyor. # tls için 587, ssl için 465 $mail->Port = 587; # Yandex üzerinden mail göndermek istiyorum. # Yandex'in smtp adresini yazıyorum. # eğer kendi domaininiz üzerinden göndermek istiyorsanız şu şekilde yazın. # smtp.domainismi.com $mail->Host = "smtp.yandex.com"; # Yandex hesabımdaki mail adresimi yazıyorum. $mail->Username = "a***********[email protected]"; # mail şifremi yazıyorum. $mail->Password = "K********r"; # mail gönderilirken bu hesaba erişilecek ve bunun üzerinden gönderilecek. # mail'de görünecek ismi değişken olarak alıyoruz. $mail->FromName ="$isimsoyisim"; # hangi adresten geldiği de görünecek. # yine aynı mail adresimizi yazıyoruz. $mail->SetFrom("a***********[email protected] "); # görünecek adresi yine aynı yazıyoruz. $mail->AddAddress("a***********[email protected] "); # mail başlığını düzenliyoruz. # SİTE MESAJI -> Uğur GELİŞKEN gibi bir mesaj formatı oluşturuyorum. $mail->Subject = "SİTE MESAJI -> $isimsoyisim"; # mail içeriğini değişkenden alıyorum. $mail->Body = "$mesaj"; # mail gönderme işlemi if döngüsü koşulunda yapılıyor, buna dikkat! # eğer mail gönderilirse true sonucu verecektir bu işlem. # bu sayede if döngüsü içine girilecek. # amacımız ziyaretçiyi durumdan haberdar etmek. if(!$mail->Send()){ # eğer mail gitmemişse hata kodunu yazdırıyoruz. # ziyaretçi bu mesajı anlamaz ama geliştirici için önemlidir. echo "Hata: ".$mail->ErrorInfo; } else { # mail gitmişse de kodun en başında bahsetmiş olduğum # mesaj değişkenine değer atanıyor. # <br> ile bir alt satıra geçilip, bootstrap stili ile bir <p> etiketi oluşturuluyor. # yeşil uyarı mesajı ile Sayın Uğur GELİŞKEN, mesajınız gönderildi... # formatı ile mesajımızı yazdırıyoruz. $gittiMesaji = "<br><p class='bg-success'>Sayın $isimsoyisim, mesajınız gönderildi...</p>"; } } ?>
Buyur. Formların olduğu sayfanın en üstüne koy. buttonun namesini submit yap.
https://ugurgelisken.com/php-ile-html5-formdan-alinan-verileri-smtp-ile-e-mail-olarak-gondermek/