Phpmailer sınıfı ile smtp ile mail göndermek

İlgili Konular: Php

Php kullanarak önceden mail fonksiyonu ile mail göndermek çok kolaydı. Günümüzde spam maillerin artması ile bu fonksiyon işe yaramaz hale geldi desek yeridir.

Php kullanıcılarının mail yollamak için kullanabilecekleri bir sınıf tasarlanmaya başlanmıştı ve daha sonra phpmailer sınıfı adını aldı. Üç dört sene öncesine kadar bu sınıfı kullanırken pek memnun değildim, ancak phpmailer sınıfını o kadar geliştirmişler ki gerçekten kullanmamak için insanın cahil olması gerek :) PHP programcıların mail yollanması konusunda daha uzun süre büyük yardımcısı olacağa benziyor.

Buradan phpmailer sınıfının internet sitesine ulaşılabilir ve oradan indirebilirsiniz.

Bu sınıfı indirip kullanmak için aşağıdaki yapılar kullanılabilir:

require_once('../class.phpmailer.php');
$mail = new PHPMailer(true);

$mail->IsSMTP(); // sınıfı smtp ile kullanacağımızı tanımlıyoruz

try {
  $mail->Host= "mail.sitenizinadı.com"; // SMTP sunucu
  $mail->SMTPDebug = 2; // SMTP için sunucuyu test ediyoruz
  $mail->SMTPAuth= true;
  $mail->Host= "mail.sitenizinadı.com";
  $mail->Port       = 26; // Mail için port numarasını girmeliyiz.
  $mail->Username   = "isminiz@sitenizinadı.com"; // SMTP kullanıcı adınız
  $mail->Password   = "şifreniz"; // SMTP kullanıcı şifreniz
  $mail->AddReplyTo('isminiz@sitenizinadı.com', 'Cihan ARAT'); //mail adresiniz ve isminiz
  $mail->AddAddress('isim@siteadı.com', 'John Doe'); // Mail yollanacak adres ve ismi
  $mail->SetFrom('isminiz@sitenizinadı.com', 'Cihan ARAT');
  $mail->AddReplyTo('isminiz@sitenizinadı.com', 'Cihan ARAT');
  $mail->Subject = 'Aratmedya.com phpmailer kullanımı'; //Mailimizin konusu
  $mail->AltBody = 'İstersek bir alt açıklama girebiliriz.';
  $mail->MsgHTML(file_get_contents('icerik.html')); //HTML olarak mail yollamak istersek
  $mail->AddAttachment('images/phpmailer.gif');      // Dosya eklemek
  $mail->AddAttachment('images/phpmailer_mini.gif'); // dosya eklemek
  $mail->Send();
  echo "Mesaj gönderildi\n";
} catch (phpmailerException $e) {
  echo $e->errorMessage();
} catch (Exception $e) {
  echo $e->getMessage();
}

require_once('../class.phpmailer.php');
$mail             = new PHPMailer();
$body             = ile_get_contents('icerik.html');
$body             = eregi_replace("[\]",'',$body);
$mail->IsSMTP();
$mail->Host       = "mail.alanadınız.com";
$mail->SMTPDebug  = 2;    
$mail->SMTPAuth   = true;
$mail->SMTPSecure = "tls";
$mail->Host       = "smtp.gmail.com";
$mail->Port       = 587;
$mail->Username   = "kullanıcıadı@gmail.com";
$mail->Password   = "şifre";
$mail->SetFrom('isminiz@sitenizinadı.com', 'Cihan ARAT');
$mail->AddReplyTo("name@yourdomain.com","First Last");
$mail->Subject    = "PHP mailer ile Aratmedya örneği ile basit gmail gönderimi";
$mail->AltBody    = "Maili görüntülemek için HTML görüntüleyicisi kullanınız";
$mail->MsgHTML($body);
$address = "mailgönderilecekisim@alanadı.com";
$mail->AddAddress($address, "Mail sahibinin ismi");
$mail->AddAttachment("images/phpmailer.gif");
$mail->AddAttachment("images/phpmailer_mini.gif");
if(!$mail->Send()) {
  echo "Hata: " . $mail->ErrorInfo;
} else {
  echo "Mail Yollandı!";
}

  • Gmail kullanarak profesyonel mail gönderimi:

require_once('../class.phpmailer.php');

$mail = new PHPMailer(true);
$mail->IsSMTP();
try {
  $mail->Host       = "mail.yourdomain.com";
  $mail->SMTPDebug  = 2;
  $mail->SMTPAuth   = true;
  $mail->SMTPSecure = "tls";
  $mail->Host       = "smtp.gmail.com";
  $mail->Port       = 587;
  $mail->Username   = "kullanıcıadınız@gmail.com";
  $mail->Password   = "şifreniz";
  $mail->AddReplyTo('isminiz@sitenizinadı.com', 'Cihan ARAT');
  $mail->AddAddress('isim@siteadı.com', 'John Doe'); // Mail yollanacak adres ve ismi
  $mail->SetFrom('isminiz@sitenizinadı.com', 'Cihan ARAT');
  $mail->AddReplyTo('isminiz@sitenizinadı.com', 'Cihan ARAT');
  $mail->Subject = 'PHPMailer Test Subject via mail(), advanced';
  $mail->AltBody = 'Maili görmek için HTML kullanınız.';
  $mail->MsgHTML(file_get_contents('icerikler.html'));
  $mail->AddAttachment('images/phpmailer.gif');      
  $mail->AddAttachment('images/phpmailer_mini.gif');
  $mail->Send();
  echo "Message Sent OK\n";
} catch (phpmailerException $e) {
  echo $e->errorMessage();
} catch (Exception $e) {
  echo $e->getMessage();
}
   

teşekkürler

hocam çok teşekkür ederim kesinlikle haklısınız kendi siteme php mail fonksiyonunu kurdum anında server tarafından spam filtresine alınmış server çok saçma ama yapçak birşey yok elbette bu sayede günde ne kadar mail gönderebiliriz bilginiz varmı acaba bu sınırsız mı ?

Servar tarafında spam

Servar tarafında spam filtresine alınmanız gayet normal. Toplu mail veya sürekli mail yollayabilmeniz için mail server almanız gerekmektedir. Paylaşımlı sunucularda haklı olarak mail sınırlandırılması getiriliyor.

kodlama

Kardeş bu kodları deniyorum ama mail felan gitmiyor. class larıda include ettim hatta denemelerde mail gönderildi diyor ama gitmiyor.

Hangi mail sunucusuna

Hangi mail sunucusuna yollamaya çalıştınız? Tüm kodları aynen kopyaladınız ve gerekli yerleri değiştirdiniz mi?

Yeni yorum veya soru gönder

Bu alanın içeriği gizlenecek, genel görünümde yer almayacaktır.
  • Glossary terms will be automatically marked with links to their descriptions. If there are certain phrases or sections of text that should be excluded from glossary marking and linking, use the special markup, [no-glossary] ... [/no-glossary]. Additionally, these HTML elements will not be scanned: a, abbr, acronym, code, pre.
  • Eklediğiniz bağlantılara rel="nofollow" eklenerek, eklediklerinizin arama motorları tarafından bu site üzerinden indexlenmesi engellenir.

  • You may insert videos with [video:URL]

Biçimlendirme seçenekleri hakkında daha fazla bilgi


CAPTCHA
Bu soru sizin gerçek bir ziyaretçi olup olmadığınızı anlamak için sorulmaktadır..
CAPTCHA resmi
Resimdeki karakterleri giriniz.