osCommerce SMTP gönderim seçeneğini desteklemektedir, ancak içerisinde SMTP kullanıcı adı ve şifre gibi bilgileri girmeniz için bir menü bölümü bulunmamaktadır. Bu sebeple  bu işlemleri manuel olarak yapmanız gerekmektedir. Bu yazımızda osCommerce SMTP ayarlarının nasıl yapıldığını göreceğiz.

İlk adım osCommerce yönetim bölümünde Configuration ~> Email options kısmına gelerek mail gönderim metodu için SMTP seçmek olacatır. Bunun dışında, varsa, aşağıdaki ayarları yapmamız gerekmektedir.


Email Line Feels: LF
Use MIME EMail when sending email: YES
Verify E-Mail Addresses Through DNS : FALSE
Use MIME HTML When Sending Emails: FALSE

Sitenizin mail adresi ile ilgili tüm ayarlarında ve SMTP ayarlarında aynı mail adresini kullanmanız gerekmektedir.

Yazının başında da belirtildiği gibi osCommerce gerekli SMTP bileşenini içermemektedir. Bu nedenle bir SMTP bileşeni indirip siteniz altına aktarımınız gerekmektedir. Aşağıdaki linkten PhpMailer bileşenini bilgisayarınıza indirebilirsiniz.

 

PhpMailer

 

İndirmiş olduğunuz phpmailer.zip dosyasını bilgisayarınızda bir klasör altına açın. Daha sonra bir FTP programı ile sitenizin FTP alanına bağlanın ve class.phpmailer.php ve class.smtp.php dosyalarını (her ikisini de) aşağıda belirtilen konumlara aktarınız.


.../admin/includes/classes/
.../includes/classes/

 

PhpMailer dosyalarını belirtilen konumlara aktardıktan sonra, aşağıdaki dosyaları bulup içerilerinde değişiklik yapmanız gerekecektir.


.../includes/classes/email.php
.../admin/includes/classes/email.php

 

Bu dosyaları bilgisayarınıza yedekleyip, her ikisinde de aşağıda yazılı olan kod öbeğini bulun;


if (EMAIL_TRANSPORT == 'smtp') {
return mail($to_addr, $subject, $this->output, 'From: ' . $from . $this->lf . 'To: ' . $to . $this->lf . implode($this->lf, $$
} else {
return mail($to, $subject, $this->output, 'From: '.$from.$this->lf.implode($this->lf, $this->headers).$this->lf.implode($this$
}
}

 

Bu kod öbeğinde aşağıda belirtilen değişikliği yaparak kodları devre dışı bırakın;


if (EMAIL_TRANSPORT == 'smtp') {
// return mail($to_addr, $subject, $this->output, 'From: ' . $from . $this->lf . 'To: ' . $to . $this->lf . implode($this->lf, $$
// } else {
// return mail($to, $subject, $this->output, 'From: '.$from.$this->lf.implode($this->lf, $this->headers).$this->lf.implode($this$
// }
// }

 

Bu satırların altına aşağıda göreceğiniz kod öbeğini ekleyin ve içerisinde belirtilen gerekli SMTP ayarlarını yapın.


require_once(DIR_WS_CLASSES . "class.phpmailer.php");
$pMail = new PHPMailer();

$pMail->From = $from_addr;
$pMail->FromName = $from_name;

$pMail->IsSMTP();
$pMail->Host = “mail.alanadiniz.com”; // Mail sunucu adresinizi yazınız.
$pMail->Username = “email@alanadiniz.com”; // SMTP için kullanacağınız kullanıcı adını yazınız.
$pMail->Password = “sifre”; // SMTP için kullanacağınız şifreyi yazınız.
$pMail->SMTPAuth = true; // Bu değeri true olarak bırakmanız yeterlidir.

$pMail->Subject = $subject;
$pMail->Body = $this->output;
$pMail->AddAddress($to_addr, $to_name);
$pMail->IsHTML(false);

return $pMail->Send();

$pMail->ClearAddresses();
$pMail->ClearAttachments();
}
}

Bu ayarların her iki email.php dosyasında da yapıldığını kontrol edin.

SMTP ayarlarınız yapılmıştır, sitenizden rahatlıkla mail gönderebilir, ürün, sipariş veya üyelik bildirimleri yapabilirsiniz.