Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fala galera, eu tenho uma aplicação que rodando local ele funciona perfeitamente o envio de e-mail utilizando o smtp do Gmail, mas quando coloquei no ar, para testes em produção, ele me retorna o seguinte erro:
Connection refused
Eis o meu código:
no Bootstrap.php
protected function _initMail()
{
$serverConfig = array(
"email" => array(
"username" => "###@gmail.com",
"password" => "###",
"ssl" => "tls",
"port" => 465,
"server" => "smtp.gmail.com"
)
);
$this->_aMailConfig = array(
"auth" => "login",
"username" => $serverConfig[ "email" ][ "username" ],
"password" => $serverConfig[ "email" ][ "password" ],
"ssl" => $serverConfig[ "email" ][ "ssl" ],
"port" => $serverConfig[ "email" ][ "port"]
);
$this->_strSmtp = $serverConfig[ "email" ][ "server" ];
Zend_Mail::setDefaultTransport( new Zend_Mail_Transport_Smtp( $this->_strSmtp, $this->_aMailConfig ) );
}
Eu possuo uma classe para a manipulação de e-mail, que vi aqui.
$mail = new Zend_HtmlMailer();
$mail->setSubject( "Assunto" )
->addTo( $session[ "email" ], $session[ "nome" ] )
->setViewParam( "variavel", $var )
->sendHtmlTemplate( "action.phtml" )
;
Alguém poderia me ajudar a tentar descobrir o que pode estar acontecendo com a minha conexão junto ao Google ?
Obrigado.
Cara, descobri que o problema é com a hospedagem que tenho, no GoDaddy ele não permite envio de SMTP de servidores fora o dele.
Mas estou tendo outro problema agora, estou utilizando ainda a mesma classe para o envio, mas sem usar o _SMTP para a configuração.
Mas quando coloco no assunto, a palavra
créditos
ele dá erro no envio, se eu retiro, ele funciona perfeitamente.
O que pode ser ?
Obrigado
Pode ter a ver com a codificação do e-mail, já que a palavra "créditos" possui acentuação.
@Leozitho, testei o que tu comentou, retirei toda a acentuação do Assunto,
ele enviou corretamente, mas o estranho é que eu já inicializei o meu Zend_Mail com a codificação UTF-8
<?php
class Zend_HtmlMailer extends Zend_Mail
{
static $fromNome = "#";
static $fromEmail = "##";
/**
*
* @var Zend_View
*/
static $_defaultView;
/**
* current instance of our Zend_View
* @var Zend_View
*/
protected $_view;
public function __construct( $charset = "UTF-8" )
{
parent::__construct( $charset );
$this->setFrom( self::$fromEmail, self::$fromNome );
$this->_view = self::getDefaultView();
}
protected static function getDefaultView()
{
if( self::$_defaultView === null )
{
self::$_defaultView = new Zend_View();
self::$_defaultView->setScriptPath( APPLICATION_PATH . "/modules/default/views/scripts/mails" );
}
return self::$_defaultView;
}
public function sendHtmlTemplate( $template, $encoding = Zend_Mime::ENCODING_QUOTEDPRINTABLE )
{
$html = $this->_view->render( $template );
$this->setBodyHtml( $html, $this->getCharset(), $encoding );
$this->send();
}
public function setViewParam( $property, $value )
{
$this->_view->assign( $property, $value );
return $this;
}
}
Se mesmo com o UTF-8 ele não consegue fazer a codificação correta, por que que no corpo do e-mail, funciona perfeitamente ?
Obrigado
Tenta com a porta 587.
Veja só: https://support.google.com/mail/answer/13287.
Utilizar Autenticação: Sim Porta para TLS/STARTTLS: 587 Porta para SSL: 465