Formlarda SMTP Doğrulama

Sunucularımızda spam mailleri önleme ve hesaplarınızdan habersiz illegal mail gönderimini engellemek için formmail() fonkisyonları kapatılmıştır. Web siteniz üzerinden mail gönderimi yapmak için de SMTP doğrulaması yapmanız gerekmektedir. Buna örnek olarak aşağıdaki kodları kullanabilirsiniz..


smtpconfig.php dosyasını oluşturup aşağıdaki kodları yazınız. username/password sizin mail adresiniz ve parolasıdır. 

<?php
//Mail bilgileri

$SmtpServer="domain.com";
$SmtpPort="587"; //default
$SmtpUser="username";    
$SmtpPass="password";

?>

 

Daha sonra class dosyasını oluşturuyoruz. 

smtpclass.php

<?php

class SMTPClient
{

function SMTPClient ($SmtpServer, $SmtpPort, $SmtpUser, $SmtpPass, $from, $to, $subject, $body)
{

$this->SmtpServer = $SmtpServer;
$this->SmtpUser = base64_encode ($SmtpUser);
$this->SmtpPass = base64_encode ($SmtpPass);
$this->from = $from;
$this->to = $to;
$this->subject = $subject;
$this->body = $body;

if ($SmtpPort == "") 
{
$this->PortSMTP = 25;
}

else

{
$this->PortSMTP = $SmtpPort;
}
}

function SendMail ()
{
if ($SMTPIN = fsockopen ($this->SmtpServer, $this->PortSMTP)) 
{
fputs ($SMTPIN, "EHLO ".$HTTP_HOST."\r\n"); 
$talk["hello"] = fgets ( $SMTPIN, 1024 ); 
fputs($SMTPIN, "auth login\r\n");
$talk["res"]=fgets($SMTPIN,1024);
fputs($SMTPIN, $this->SmtpUser."\r\n");
$talk["user"]=fgets($SMTPIN,1024);
fputs($SMTPIN, $this->SmtpPass."\r\n");
$talk["pass"]=fgets($SMTPIN,256);
fputs ($SMTPIN, "MAIL FROM: <".$this->from.">\r\n"); 
$talk["From"] = fgets ( $SMTPIN, 1024 ); 
fputs ($SMTPIN, "RCPT TO: <".$this->to.">\r\n"); 
$talk["To"] = fgets ($SMTPIN, 1024); 
fputs($SMTPIN, "DATA\r\n");
$talk["data"]=fgets( $SMTPIN,1024 );
fputs($SMTPIN, "To: <".$this->to.">\r\nFrom: <".$this->from.">\r\nSubject:".$this->subject."\r\n\r\n\r\n".$this->body."\r\n.\r\n");
$talk["send"]=fgets($SMTPIN,256);
//CLOSE CONNECTION AND EXIT ... 
fputs ($SMTPIN, "QUIT\r\n"); 
fclose($SMTPIN); 

// 


return $talk;

}

?>



Ve son olarak da formumuzu oluşturuyoruz. 

index.php

<?php

include('smtpconfig.php');
include('smtpclass.php');
if($_SERVER["REQUEST_METHOD"] == "POST")
{
$to = $_POST['to'];
$from = $_POST['from'];
$subject = $_POST['sub'];
$body = $_POST['message'];
$SMTPMail = new SMTPClient ($SmtpServer, $SmtpPort, $SmtpUser, $SmtpPass, $from, $to, $subject, $body);
$SMTPChat = $SMTPMail->SendMail();
}

?>
<form method="post" action="">

To:<input type="text" name="to" />
From :<input type='text' name="from" />
Subject :<input type='text' name="sub" />
Message :<textarea name="message"></textarea>
<input type="submit" value=" Send " />

</form>



Bu şekilde form mail gönderimi yapabilirsiniz. 

 

  • 181 Bu dökümanı faydalı bulan kullanıcılar:
Bu cevap yeterince yardımcı oldu mu?

İlgili diğer dökümanlar

Outlook 2010 POP3 E-mail Kurulumu

Size verilen E-mail adresiniz ve şifrenizle Microsoft Outlook 2010 (Office 2010) ayarlarınızı şu...

MacOs da E-Posta Kurulumu

Mac bilgisayarınıza E-Posta kurmak için Mail uygulamasına giriş yaptıktan sonra üst barda yer...

Outlook 2007 POP3 E-mail Kurulumu

Microsoft Outlook 2007 programının üst kısmında bulunan Araçlar menüsünden Hesap Ayarları...

Android Cihazlarda E-Mail kurulumu

Günümüz akıllı telefonlarında çoğunlukla kullanılan Android işletim sistemi için E-mail ayarları...

E-Mail Hesabı Oluşturma Yada Silme

E-Mail hesap oluşturmak yada silmek için  "Müşteri Panelinizden" Giriş yaptıktan sonra karşımıza...

Powered by WHMCompleteSolution