Smtp yetkilendirme kodu. E-posta gönderme (SMTP ve posta PHP). ASP kullanarak e-posta gönderme
Sanal Windows barındırma sunucularından anonim mesaj göndermek yasak olduğundan, mektup gönderme, posta sistemimizi kullanmanın da mümkün olduğu bir SMTP sunucusu aracılığıyla yapılmalıdır.
PHP kullanarak e-posta nasıl gönderilir?
Smtp sunucusunda yetkilendirmeyi destekleyen herhangi bir PHP sınıfının kullanılması. Örneğin PHPMailer sınıf setini kullanabilirsiniz.
Yetkilendirme gerektiren bir smtp sunucusu kullanarak mektup göndermeyi uygulayan örneğimizi de kullanabilirsiniz. Bu nedenle, betiğe uygun erişim ayrıntılarını eklemeyi unutmayın, örneğin:
// SMTP oturum günlüğünü göstermeniz gerekiyorsa aşağıdaki satırın açıklamasını kaldırabilirsiniz. // $_SERVER["hata ayıklama"] = doğru; function MailSmtp ($alıcı, $konu, $içerik, $başlıklar, $hata ayıklama = 0) ( $smtp_server = "smtp.site"; // SMTP sunucu adresi$smtp_port = 25; // SMTP sunucu bağlantı noktası$smtp_kullanıcı = " [e-posta korumalı]" ; // SMTP sunucusunda yetkilendirme için kullanıcı adı$smtp_password = "pAsSwORd"; // SMTP sunucusunda yetkilendirme için şifre$mail_from = " [e-posta korumalı]" ; // Mektubun gönderildiği posta kutusu$sock = fsockopen ($smtp_server, $smtp_port, $hata, $hata, 30); $str = fgets ($çorap, 512); if (! $sock ) ( printf ( "Soket oluşturulmadı\n" ); çıkış(1 ); ) smtp_msg ($sock , "HELO " . $_SERVER [ "SUNUCU_ADI" ]); smtp_msg($sock, "KİMLİK GİRİŞİ"); smtp_msg ($sock, base64_encode ($smtp_user)); smtp_msg ($sock, base64_encode ($smtp_password)); smtp_msg ($sock , "MAIL FROM:<" . $mail_from . ">" ); smtp_msg ($sock , "RCPT TO:<" . $reciever . ">" ); smtp_msg ($sock , "VERİ" ); $başlıklar = "Konu: " . $konu . "\r\n" . $başlıklar ; $veri = $başlıklar . "\r\n\r\n" . $content . "\r\n." smtp_msg ( $sock , $data ) ( if ( ! $sock ) ( printf ("Bozuk soket!\n" ); çıkış(1 ); ) if (isset($) _SERVER [ "hata ayıklama" ]) && $_SERVER [ "hata ayıklama" ]) ( printf ( "Bizden gönder: %s" , nl2br (htmlspecialchars ($msg )); ) fputs ($sock , " $msg \r\n" ); $str = fgets ($sock , 512 ); if (! $sock ) ( printf ( "Socket is aşağı\n" ); çıkış(1); ) else ( if (isset($_SERVER [ "hata ayıklama" ]) && $_SERVER [ "hata ayıklama" ]) ( printf ("Sunucudan alındı: %s
" , nl2br (htmlspecialchars ($str )); ) $e = patlama (" " , $str ); $code = array_shift ($e ); $str = implode ( " " , $e ); if ($code > 499 ) ( printf ( "SMTP görüşmesinde sorunlar var.
Kod %d.
Mesaj %s
" , $kod , $dizi); çıkış(1); )) ) ) ?>
MailSmtp() işlevine sahip hazır bir komut dosyası örneğini indirin: smtpauth.php.sample
Mail() işlevini doğrudan değiştirmek için yukarıda açıklanan MailSmtp() işlevini kullanabilirsiniz; PHP'deki en basit formun bir örneğini düşünün:
// Mesaj başlıkları, mesaj kodlamasını, Kimden, Kime alanlarını vb. tanımlar.$headers = "MIME Sürümü: 1.0\r\n" ; $başlıklar .= "İçerik türü: metin/html; karakter kümesi=windows-1251\r\n"; $headers .= "Kime: $hedef \r\n" ; $başlıklar .= "Gönderen: Gönderenin adıİçin bu form mail() işlevi olmadan çalıştığımızdan, smtpauth.php dosyasını require_once aracılığıyla ekledik ve içinde açıklanan MailSmtp() işlevini, mail()'a benzer argümanlarla çağırdık. Aynı zamanda, betiği çalıştırırken hataları önlemek için mail() çağrısının kendisini kodda yorumladık.
ASP.NET kullanarak e-posta nasıl gönderilir?
Sürüm 2.0 kullanıyorsanız MailMessage sınıfını kullanın System.Net.Mail), iyi tanımlanmış.
Aşağıda C# ve VisualBasic dilleri için kullanımına ilişkin örnekler verilmiştir:
C# dili için örnek:
<% @Page Language="c#" %> <% @Import Namespace="System.Net.Mail" %> <% @Import Namespace="System.Net" %> <% MailMessage message = new MailMessage(); // yeni bir harf oluşturuyoruz message.To.Add(" [e-posta korumalı]"); //alıcı adresi ekleniyor message.From = new MailAddress("from@ alan adı.tld", "Gönderen adı"); // gönderenin adını ve adresini belirtiyoruz message.Subject = "Mesaj konusu"; // mektubun konusunu belirtiyoruz message.BodyEncoding = System.Text.Encoding.UTF8; // harf kodlamasını belirtiyoruz message.IsBodyHtml = false; // harf formatını belirtme (doğru - HTML, yanlış - HTML değil) message.Body = "Mesaj metni"; // mektubun metnini (gövdesini) belirtme SmtpClient istemcisi = new SmtpClient("smtp.site",25); // "smtp.site" sunucusuna yeni bir bağlantı oluşturuluyor client.DeliveryMethod = SmtpDeliveryMethod.Network; // mesaj gönderme yöntemini tanımlar client.EnableSsl = false; // sunucuya güvenli bir bağlantı kullanma ihtiyacını devre dışı bırakır client.UseDefaultCredentials = false; // varsayılan yetkilendirme ayrıntılarının kullanımını devre dışı bırakın client.Credentials = new NetworkCredential("postmaster@ alan adı.tld", "***şifre***"); // SMTP sunucusunda yetkilendirme için gerekli detayların (kullanıcı adı ve şifre) belirtilmesi client.Send(mesaj); // mesaj gönder %>Kullanımı gösteren doldurulmuş bir formun örneğini indirin Bu method: MailForm.aspx.
VisualBasic dili için örnek:
<% @Page Language="VB" Debug="true" %> <% @Import Namespace="System.Net.Mail" %> <% @Import Namespace="System.Net" %> <% Dim smtpMssg AS new MailMessage smtpMssg.From = New MailAddress ("admin@alan adı.tld", "Gönderen_adı") smtpMssg.To.Add (" [e-posta korumalı]") " alıcı adresi ekleniyor smtpMssg.Subject = "E-posta konusu" "Mektubun konusunun belirtilmesi smtpMssg.Body = "Mesaj metni" " Mektubun metninin (gövdesinin) göstergesi smtpMssg.BodyEncoding = System.Text.Encoding.UTF8 " harf kodlamasının göstergesi smtpMssg.IsBodyHtml = yanlış " harf formatının göstergesi (doğru - HTML, yanlış - HTML değil) SmtpMail'i Yeni SmtpClient Olarak Dim("smtp.site", 25) ""SmtpClient" türünde yeni bir nesnenin bildirimi SmtpMail.DeliveryMethod = SmtpDeliveryMethod.Network "mektup teslim yönteminin belirtilmesi SmtpMail.UseDefaultCredentials = Yanlış "yetkilendirme kimlik bilgilerinin kullanımını varsayılan olarak devre dışı bırakma" SmtpMail.EnableSsl = Yanlış " sunucuyla güvenli bir bağlantı kullanma ihtiyacını devre dışı bırakır SmtpMail.Credentials = new NetworkCredential("postmaster@) alan adı.tld", "***şifre***") "SMTP sunucusunda yetkilendirme için gerekli ayrıntıların (kullanıcı adı ve şifre) belirtilmesi SmtpMail.Send(smtpMssg) "mesaj gönderiyorum %>Ayrıca kullanımdan kaldırılmış (ve kullanımdan kaldırılmış) bir SmtpMail sınıfı da vardır (ad alanını kullanan System.Web.Mail). Aşağıda VisualBasic dili için kullanımına bir örnek verilmiştir:
<% @Page Language="VB" Debug="true" %> <% @Import Namespace="System.Web" %> <% @Import Namespace="System.Web.Mail" %> <% Dim smtpMssg = new MailMessage ""MailMessage" türünde yeni bir nesnenin bildirimi smtpMssg.From = "Gönderenin_adıASP kullanarak e-posta nasıl gönderilir?
Lütfen smtp sunucumuzu kullanırken yetkilendirmenin gerekli olduğunu unutmayın, bu nedenle komut dosyasına uygun erişim ayrıntılarını eklemeyi unutmayın, örneğin:
<% iConfig = Server.CreateObject("CDO.Configuration") Set iConfig = Server.CreateObject("CDO.Configuration") With iConfig.Fields .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.сайт" .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 .Item("http://schemas.microsoft.com/cdo/configuration/languagecode") = "ru" .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "postmaster@alan adı.tld" .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password" .Set ile Güncelleme Sonu cdoMessage = CreateObject("CDO.Message") cdoMessage Set ile .Configuration = iConfig .From = "Kullanıcıyı test etBazı CMS'lerde yazışmaların veya ilgili modüllerin gönderilmesi için zaten yerleşik araçlar bulunur; en popüler olanlara bakalım.
Wordpress
Bu CMS için özel bir "WP Mail SMTP" modülü vardır, yapılandırmasının bir örneği modül sayfasında açıklanmaktadır.
Örnekteki resme dikkat edin; mail sistemimizde 25 numaralı portun kullanılması gerekmektedir ve SSL şifrelemeye gerek yoktur.
Joomla
Yönetim panelinde “Genel Ayarlar” bölümüne gidin, “Sunucu” sekmesini seçin. “Posta” alanında, gönderme yöntemini “SMTP sunucusu” olarak seçmeniz, “SMTP sunucu adresi” ve “SMTP giriş” ve “SMTP şifresi” alanlarında posta sisteminin uygun ayrıntılarını belirtmeniz gerekir; örneğin : smtp.site, box@alan_adınız ve karşılık gelen şifre.
Drupal
Bu CMS'nin ayrıca SMTP sunucusuyla çalışmak için kendi modülü vardır. PHPMailer.dll Bu modülü CMS Drupal web sitesindeki sayfasından indirebilirsiniz; modülün kurulumuna ilişkin bir açıklama da onunla birlikte arşivde mevcuttur.
NetCat
Bu CMS'nin bir SMTP sunucusuyla çalışmaya yönelik yerleşik işlevleri yoktur. Site komut dosyalarını kullanarak posta göndermek için, çözümümüzü kullanarak onu bağlamanızı önerebiliriz; aşağıdaki adımları uygulamanız gerekir:
- Web sitemizden gerekli dosyaları içeren bir arşiv indirin ( send_auth_mail.php Ve mail.inc.php) ve bilgisayarınızda paketini açın;
Dosya düzenle send_auth_mail.php arşivden, istenen SMTP sunucusuna bağlantı ayrıntılarını belirterek:
- $mail_smtpServer = "smtp.site"; (SMTP sunucu adresi)
- $mail_port = "25" ; (bağlantı noktası)
- $mail_kullanıcıadı = "[e-posta korumalı]" ; (SMTP sunucusunda yetkilendirme için kullanıcı adı)
- $mail_password = "Şifre"; (SMTP sunucusunda yetkilendirme şifresi)
- Dosyanın yedek kopyasını oluşturun domain.tld/www/netcat/admin/mail.inc.php;
- dosyaları indir send_auth_mail.php Ve mail.inc.php dizindeki sanal siteye alan adı.tld/www/netcat/admin/
alan adı.tld alan adınızla değiştirilmelidir.
Önerilen çözüm, posta göndermek için bu CMS'nin standart işlevlerini kullanan tüm NetCat modülleriyle çalışır.
Uzun zamandır kullanıcılara PHP'deki mail() işlevi aracılığıyla değil, SMTP posta sunucuları aracılığıyla mektup göndermek için bir çözüm arıyordum. İnternette çok fazla çeşitli bilgi yok ve mevcut olanlar ya tam olarak doğru çalışmıyor ya da hiç çalışmıyor. Bu nedenle her şeyi bir araya getirip sitelerde sunulan hazır kodlardan yola çıkarak kendi kodumu yazdım.
Neden postayla değil de SMTP yoluyla gönderiyorsunuz()
Cevabım oldukça basit - bir süreliğine virüsler sunucum üzerinden tonlarca mektup gönderdi, bu da IP adresimin birçok postacı tarafından, özellikle de gmail.com tarafından yasaklanmasına yol açtı ve bununla bağlantılı olarak kullanıcılar mektup alabildi, bu yüzden ben Alternatif aramak zorunda kaldım ve buldum - bu SMTP
Benim senaryomun neden ortalıkta dolaşan diğerlerinden daha iyi olduğu ilginizi çekebilir?! cevap vereceğim
- Yandex, Rambler, Mail ile çalışır (gmail kazanamadı)
- Kodu temizle. Yapılandırmak için birkaç satırı değiştirmeniz yeterli
- E-postaları HTML formatında gönderir
İşte internette hiçbir yerde bulamadığım ama her birinden ihtiyacım olan her şeyi aldığım senaryomun avantajları. Öyleyse koda bakalım.
Function smtpmail($mail_to, $subject, $message, $service="yandex") ( $config["smtp_charset"] = "windows-1251"; //mesaj kodlaması (veya UTF-8, vb.) $config [ "smtp_from"] = "mashintop.ru"; //Adınız - veya sitenizin adı okunduğunda "Kimden" alanında gösterilecektir $config["smtp_debug"] = false; hata mesajlarını görmek için false yerine true değerini belirtin $config["smtp_port"] = "25"; // Emin değilseniz çalışma portunu değiştirmeyin"; $config["smtp_email"] = " [e-posta korumalı]"; $config["smtp_username"] = "mashintop"; //Posta kutunuzun adını değiştirin. $config["smtp_host"] = "smtp.yandex.ru"; //posta gönderme sunucusu $config[" smtp_password "] = "moi_parol"; //Şifreyi değiştir ) elseif($service=="rambler") ( $config["smtp_searcher"] = "rambler.ru"; $config["smtp_email"] = " [e-posta korumalı]"; $config["smtp_username"] = "mashintop"; //Posta kutunuzun adını değiştirin. $config["smtp_host"] = "smtp.rambler.ru"; //posta gönderme sunucusu $config[" smtp_password "] = "moi_parol"; //Şifreyi değiştir ) elseif($service=="mail") ( $config["smtp_searcher"] = "mail.ru"; $config["smtp_email"] = " [e-posta korumalı]"; $config["smtp_username"] = "mashintop"; //Posta kutunuzun adını değiştirin. $config["smtp_host"] = "smtp.mail.ru"; //posta gönderme sunucusu $config[" smtp_password "] = "moi_parol"; //Şifreyi değiştir ) elseif($service=="gmail") ( $config["smtp_searcher"] = "gmail.com"; $config["smtp_email"] = " [e-posta korumalı]"; $config["smtp_username"] = "alexeybertram"; //Posta kutunuzun adını değiştirin. $config["smtp_host"] = "smtp.gmail.com"; //posta gönderme sunucusu $config[" smtp_password "] = "moi_parol"; //Şifreyi değiştir ) $header="Tarih: ".date("D, j M Y G:i:s")." +0700rn"; $header.="Gönderen: =?windows-1251?Q?".str_replace("+","_",str_replace("%","=",urlencode("".$config[" smtp_from"]."))))."?=<".$config["smtp_email"].">rn"; $header.="X-Mailer: Yarasa! (v3.99.3) Professionalrn"; $header.="Reply-To: =?windows-1251?Q?".str_replace("+","_",str_replace("%","=",urlencode(" ".$config["smtp_from"]."")))."?=<".$config["smtp_email"].">rn"; $header.="X-Önceliği: 3 (Normal)rn"; $header.="Mesaj Kimliği:<172562218.".date("YmjHis")."@".$config["smtp_searcher"].">rn"; $header.="Kime: =?windows-1251?Q?".str_replace("+","_",str_replace("%","=",urlencode("")))."? =<$mail_to>rn"; $header.="Subject: =?windows-1251?Q?".str_replace("+","_",str_replace("%","=",urlencode("".$subject."" )))."?=rn"; $header.="MIME-Version: 1.0rn"; $header.="Content-Type: text/html; charset=windows-1251rn"; $header.="Content-Transfer-Encoding: 8bitrn"; $smtp_conn = fsockopen("".$config["smtp_host"]."", $config["smtp_port"],$errno , $errstr, 10); if(!$smtp_conn) (print "sunuculardan bağlantı başarısız oldu"; fclose($smtp_conn); çıkış;) $data = get_data($smtp_conn) fputs($smtp_conn,"EHLO ". $ config["smtp_searcher"]."rn"); $code = substr(get_data($smtp_conn),0,3000); if($code != 250) (print "EHLO karşılama hatası"; fclose($smtp_conn) ; çıkış;) fputs($smtp_conn,"AUTH LOGINrn"); $code = substr(get_data($smtp_conn),0,3000); if($code != 334) (print "sunucu yetkilendirmenin başlamasına izin vermedi"; fclose ($smtp_conn); çıkış;) fputs($smtp_conn,base64_encode("".$config["smtp_username"]."")."rn"); $code = substr(get_data($smtp_conn),0,3000 ) ); if($code != 334) (print "bu kullanıcıya erişimde hata"; fclose($smtp_conn); çıkış;) fputs($smtp_conn,base64_encode("".$config["smtp_password"].""). "rn"); $code = substr(get_data($smtp_conn),0,3000); if($code != 235) (print "yanlış şifre"; fclose($smtp_conn); çıkış;) fputs($smtp_conn,"MAIL FROM:".$config["smtp_email"]."rn"); $code = substr(get_data($smtp_conn),0.3000); if($code != 250) (print "sunucu MAIL FROM komutunu reddetti"; fclose($smtp_conn); çıkış;) fputs($smtp_conn,"RCPT TO:".$mail_to."rn"); $code = substr(get_data($smtp_conn),0.3000); if($code != 250 AND $code != 251) (print "Sunucu RCPT TO komutunu kabul etmedi"; fclose($smtp_conn); çıkış;) fputs($smtp_conn,"DATArn"); $code = substr(get_data($smtp_conn),0.3000); if($code != 354) (print "sunucu VERİ kabul etmedi"; fclose($smtp_conn); çıkış;) fputs($smtp_conn,$header."rn".$message."rn.rn"); $code = substr(get_data($smtp_conn),0.3000); if($code != 250) (print "ileti gönderilirken hata"; fclose($smtp_conn); çıkış;) fputs($smtp_conn,"QUITrn"); fclose($smtp_conn); ) function get_data($smtp_conn) ( $data=""; while($str = fgets($smtp_conn,515)) ( $data .= $str; if(substr($str,3,1) == " " ) ( break; )) return $veri ) $text_email = "
Az önce mashintop.ru web sitesine bir reklam eklediniz. Burada görüntüleyebilirsinizAnahtarınız: ".$key."
Bu tuşu kullanarak reklamınızı yönetebilirsiniz.
"; $text_email .= " "; smtpmail(" [e-posta korumalı]", "Mashintop.ru'daki reklamın anahtarı", $text_email, "yandex"); //Yandex smtpmail'i kullanın(" [e-posta korumalı]", "Mashintop.ru'daki reklamın anahtarı", $text_email, "mail"); //smtpmail(" e-postasını kullanın) [e-posta korumalı]", "Mashintop.ru'daki reklamın anahtarı", $text_email, "başıboş"); //başıboş smtpmail'i kullanın(" [e-posta korumalı]", "Mashintop.ru'daki reklamın anahtarı", $text_email, "gmail"); // ancak gmail çalışmıyor :(
Hepsi bu, bitmiş komut dosyası sizin elinizde, sadece kopyalayın, $config dizisinin değerlerini değiştirin ve her şey yolunda gidecek.
Şimdi odaklanmak istediğim bazı unsurlara bakalım.
Örneğin Google’a SMTP üzerinden gönderim yapmaya çalıştığımızda aldığımız hata. Başlangıçta şu hata metnini görüyoruz:
Daha spesifik bir şey görmek için kodu biraz değiştirelim
Fputs($smtp_conn,"AUTH LOGINrn"); $code = substr(get_data($smtp_conn),0.3000); echo $kod; if($code != 334) (print "sunucu yetkilendirmenin başlatılmasına izin vermedi"; fclose($smtp_conn); çıkış;)
Ve sonunda çok spesifik bir hata alıyoruz
530 5.7.0 Önce bir STARTTLS komutu verilmeli. x4sm16408296lbn.2 - gsmtp
Tam olarak ne anlama geldiğini bilmiyorum ama güvenli, güvensiz bir bağlantıyla ilgisi olduğuna inanıyorum. Henüz bundan nasıl kurtulacağımı bilmiyorum, bu yüzden Gmail şu anda yenilmezliğini sürdürüyor.
2019-08-05
Merhaba sevgili ziyaretçi!
Blogun güncellenmesindeki gecikmeden dolayı lütfen beni bağışlayın. Ancak bunun tamamen anlaşılır bir açıklaması var. Sonuçta yaz, yazlık ev, misafirler, orman, su ve çok daha fazlası, bir web sitesi oluşturma sorunlarını çözmeme izin vermedi. Ama artık biraz özgürleştim, misafirler gitti ve artık buna kesinlikle gereken önemi verebileceğimi düşünüyorum.
Son yazımızda alan adımızın maillerini mail hizmetlerinden birine bağladıktan sonra şimdi siteden nasıl email gönderebileceğinizi görelim. Üstelik mektuplarımız SPAM'a düşmeden, güvenilir ve yüksek olasılıklı bir şekilde alıcılarımıza ulaştırılacaktır.
Genel olarak PHP'de mektup göndermek için yerleşik bir mail() işlevi vardır. Ancak, bu yöntemin basitliğine rağmen (bu durumda, mektup göndermek için belirli parametrelerle yalnızca bir kod satırı belirtmek yeterlidir), bu seçeneğin kullanımının SPAM sorunuyla ilişkili önemli bir dezavantaja sahip olduğu unutulmamalıdır. .
Gerçek şu ki, alıcı tarafındaki posta sunucularının SPAM önleme filtreleri, mail() işlevi yoluyla gönderilen mektupları pek desteklemez. Çoğu durumda bu tür mesajlar muhatabına ulaşmadan önce filtrelenir, hatta silinir.
Ve bu gibi durumları olabildiğince ortadan kaldırmak için, genellikle mektupların sanki üçüncü taraf bir posta servisi tarafından yapılıyormuş gibi gönderildiği başka bir seçenek kullanılır.
Bu yönteme SMTP üzerinden yetkilendirme ile posta gönderme adı verilmektedir. Bugün geri bildirim formu gönderme örneğini kullanarak buna bakacağız. Üstelik bunun için, SMTP yoluyla mektup göndermeyi oldukça basit bir şekilde organize etmenize olanak tanıyan oldukça iyi bilinen ve popüler PHPMailer kütüphanesini kullanacağız.
- Geri bildirim mektuplarını nasıl göndereceğiz?
- Geri bildirim formu oluşturma
- PHPMailer kütüphanesini kurma
- SMTP aracılığıyla posta göndermek için bir komut dosyası oluşturuyoruz
- E-posta gönderimi kontrol ediliyor
- Site kaynak dosyaları
Geri bildirim mektuplarını nasıl göndereceğiz?
Geri bildirim mektubu göndermenin pratik çalışmasına başlamadan önce, bunu nasıl yapacağımıza karar verelim.
Geri bildirim formu, kullanıcının site yöneticisi ile iletişim kurarak mesajını iletmesine olanak sağlayacak şekilde tasarlanmıştır. Tipik olarak bu form birkaç alandan ve bir "Gönder" düğmesinden oluşur.
Prensip olarak, bir e-posta göndermek için kullanıcı ve mesajın içeriği hakkında yeterli bilgi sağlayan yalnızca birkaç alanı kullanmak yeterlidir, örneğin:
- "Ad" - mesajı gönderenin adını girmek için;
- "E-posta" - gönderenin e-posta adresi için;
- "Mesaj Konusu";
- "Mesaj metni".
Yine de başkalarını da ekleyebilirsiniz. Örneğin, gerçekten gerekliyse bir telefon numarası.
Bizim durumumuzda bu tür mektuplar, alan adımızın bağlı olduğu posta hizmetindeki yetkilendirmeye sahip gerçek bir posta kutusundan site yöneticisinin adresine gönderilecektir.
Önceki makalede alan adı postasının Yandex.Mail hizmetine bağlantısını kontrol etmeye odaklandığımızdan, bu seçenek için posta göndereceğiz. Bu önemli olmasa da. Aşağıda, değiştirildiğinde Mail.ru posta sunucusu aracılığıyla e-posta göndermenize izin verecek seçenekleri göreceksiniz.
Mektupların gönderileceği gerçek bir posta kutusu olarak, yeni oluşturulan bir etki alanı posta kullanıcısının hesabını, örneğin adresle birlikte kullanacağız. [e-posta korumalı]. Ve bu mektupları yöneticinin posta kutusuna göndereceğiz [e-posta korumalı], daha önce önceki makalede oluşturduğumuz.
Böylece geri bildirim formundaki mektubun göndereni posta kutusu olacaktır. [e-posta korumalı]. ve alıcı - [e-posta korumalı]. Bu durumda mesajı gönderen kullanıcıya ait tüm bilgiler içeriğiyle birlikte gönderilen mektubun gövdesinde iletilecektir.
Geri bildirim formu oluşturma
Mektup gönderme prosedürüne karar verdikten sonra şimdi bunu yapacağımız bir geri bildirim formu oluşturacağız.
Aşağıda "Kişiler" sayfasına yerleştireceğimiz bu formun HTML kodu bulunmaktadır (makaleler dizinindeki kontakty.php dosyası).