Ben PrestaShop kullanarak kurulum bir e-ticaret sitesi var ve onların iletişim formunu test ederken, ben kullanıcı gönderenler adresi olarak Yahoo e-posta adresini girerse ben herhangi bir mesaj almamaktadır olduğu bulundu. Kullanıcı bir Gmail adresi girerse Ben, ancak, herhangi bir sorun var.
PrestaShop şu iletişim formu için PHP Mail () işlevini kullanmak üzere ayarlanmış. Sorun ve ne gibi çözümler Açıkçası gmail adresleri olan, herkes değil sadece postaları almak gerekiyor gibi bakmak olabilir ne olabilir.
Aşağıdaki kontak form.php sayfasında kodu: -
<?php
$useSSL = true;
include(dirname(__FILE__).'/config/config.inc.php');
include(dirname(__FILE__).'/header.php');
$errors = array();
$smarty->assign('contacts', Contact::getContacts(intval($cookie->id_lang)));
if (Tools::isSubmit('submitMessage'))
{
if (!($from = Tools::getValue('from')) OR !Validate::isEmail($from))
$errors[] = Tools::displayError('invalid e-mail address');
elseif (!($message = nl2br2(Tools::getValue('message'))))
$errors[] = Tools::displayError('message cannot be blank');
elseif (!Validate::isMessage($message))
$errors[] = Tools::displayError('invalid message');
elseif (!($id_contact = intval(Tools::getValue('id_contact'))) OR !(Validate::isLoadedObject($contact = new Contact(intval($id_contact), intval($cookie->id_lang)))))
$errors[] = Tools::displayError('please select a contact in the list');
else
{
if (intval($cookie->id_customer))
$customer = new Customer(intval($cookie->id_customer));
if (Mail::Send(intval($cookie->id_lang), 'contact', 'Message from contact form', array('{email}' => $_POST['from'], '{message}' => stripslashes($message)), $contact->email, $contact->name, $from, (intval($cookie->id_customer) ? $customer->firstname.' '.$customer->lastname : $from)))
$smarty->assign('confirmation', 1);
else
$errors[] = Tools::displayError('an error occurred while sending message');
}
}
$email = Tools::safeOutput(Tools::getValue('from', ((isset($cookie) AND isset($cookie->email) AND Validate::isEmail($cookie->email)) ? $cookie->email : '')));
$smarty->assign(array(
'errors' => $errors,
'email' => $email
));
$smarty->display(_PS_THEME_DIR_.'contact-form.tpl');
include(dirname(__FILE__).'/footer.php');
?>
UPDATE:
I contacted my email hosting company and they gave the following suggestion:-
You would need to change the Email address in the field $from to any Email address on the domain name on which you are incorporating this script. For example, if your Domain Name is abc.com, then you would define the From Email address as some-name@abc.com. This Email address need not be existing on the Mail Server of abc.com, however, the domain name in the $from field has to be yours. You may use an Email address such as Do_Not_reply@abc.com.
The value in the $mailto field needs to be changed to the Email address, where email containing the data submitted through the form needs to be delivered.
Yani PrestaShop iletişim-form.php (yukarıda verilen kod) bağlamında, nasıl değiştirmeyi hakkında gitmek istiyorsunuz?