Magento
Usar servidor smtp externo con Magento
0Aunque parezca increible Magento no tiene por defecto la opcion de usar otro servidor smtp que no sea localhost.
Para poder usar otros servidor hay dos opciones:
- Usar esta extensión de aschrode
- modificar el core del propio magento o usar esta extension.
Para modificar el core, aunque no es muy complicado si que puede producir dolores de cabeza si se actualiza, ya que eliminará nuestros cambios. Para esto recomendamos hacer una copia de los fichero que modificamos a la carpeta app/local
La información la he sacado de este hilo y funciona
http://www.magentocommerce.com/boards/viewthread/1073/P30/#t57392
Dejo aqui lo que hay que hacer.
1) Modify FILE: app/code/core/Zend/Mime.php
Change line 42:
const LINEEND = “”;
with
const LINEEND = “\n”;
IMPORTANT: leave double quotes FOR “\n”
2) ModifyFILE: app/code/core/Mage/Core/Model/Email/Template.php
2a) New getMail() function (added a block of code to specify smtp config):
public function getMail()
{
if (is_null($this->_mail)) {
/*Start of added code to specify config*/
$my_smtp_host = Mage::getStoreConfig(‘system/smtp/host’); // Take it from Magento backoffice or you can specify it here
$my_smtp_port = Mage::getStoreConfig(‘system/smtp/port’); // Take it from Magento backoffice or you can specify it here
$config = array(
‘ssl’ => ‘tls’, //optional
‘port’ => $my_smtp_port, //optional – default 25
‘auth’ => ‘login’,
‘username’ => ‘mailaccount@domain.com’,
‘password’ => ‘password’
);
$transport = new Zend_Mail_Transport_Smtp($my_smtp_host, $config);
Zend_Mail::setDefaultTransport($transport);
/*End of added code to specify config*/
$this->_mail = new Zend_Mail(‘utf-8′);
}
return $this->_mail;
}
2b) Comment those lines into send() function:
//ini_set(‘SMTP’, Mage::getStoreConfig(‘system/smtp/host’));
//ini_set(‘smtp_port’, Mage::getStoreConfig(‘system/smtp/port’));
El paso 2b no lo he hecho y funciona perfectamente.