Php ile Google Apps kullanıcısı olan bir mail adresinden mail göndermem gerekti. Gmail mail gönderiminde ssl kullandığı için başka bir mail sunucusundan mail göndermekten biraz farklı.
- Öncelikle http://phpmailer.worxware.com/ adresinden PHPMail'i indiriyoruz.
- Daha sonra ssl ile gönderebilmemiz için php.ini dosyasında extension=php_openssl.dll satırının başındaki noktalı virgülü kaldırıp bu eklentiyi aktif ediyoruz.
- Örneklere bakarak hazırlamış olduğum mail gönderme fonksiyonu şu şekilde.
function sendMail($from, $to, $fromName, $toName, $subject, $message) {
require_once("class.phpmailer.php"); // indirdiğimiz PHPMail dosyalarının içinde var, bu dosyayla beraber class.smtp.php dosyasınıda aynı klasöre koymanız gerekiyor.
global $error;
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = "smtp.gmail.com";
$mail->SMTPDebug = 2;
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->Port = 465;
$mail->Username = "USER"; // gmail kullanıcı adınız (tam mail adresi)
$mail->Password = "PASS"; // gmail şifreniz
$mail->SetFrom($from, $fromName);
$mail->AddReplyTo($from, $fromName);
$mail->Subject = $subject;
$mail->Body = $message;
$mail->AddAddress($to, $toName);
$mail->CharSet = 'UTF-8';
try {
if (!$mail->Send()) {
$error = 'Mail error: ' . $mail->ErrorInfo;
return false;
} else {
return true;
}
} catch (Exception $e) {
return false;
}
return true;
}
-
Fonksiyonu şu şekilde kullanabilirsiniz.
if (sendMail('gönderen mail', 'alıcı mail', 'gönderen isim', 'alıcı isim', 'konu', 'mesaj'))
echo 'başarılı';
else {
if(!empty($error))
echo $error;
else
echo 'hata oluştu';
}