Problemas com extensão mail

Opa pessoal,

To tentando utilizar a extensão Mail, para envio de e-mails automaticos.

http://www.yiiframework.com/extension/mail

Porém to tendo problemas com ela, localmente.

A configuração:


'import'=>array(

		'application.models.*',

		'application.components.*',

                'ext.yii-mail.YiiMailMessage',

	),




'mail'=>array(

                    'class' => 'ext.yii-mail.YiiMail',

 			'transportType' => 'php',

 			'viewPath' => 'application.views.mail',

 			'logging' => true,

 			'dryRun' => false,

                ),

O codigo do controller:


$message = new YiiMailMessage;

                    

                    

                    $message->setBody("Sua senha é: $anunciante->senha ", 'text/html');

                    $message->subject = 'É Muito Carro - Recuperação de Senha';

                    $message->addTo($anunciante->mail);

                    $message->from = Yii::app()->params['adminEmail'];

                    Yii::app()->mail->send($message);

                    

O problema é que quando tento executar isso, a extensão me apresenta um erro que não to conseguindo corrigir.


mail() [<a href='function.mail'>function.mail</a>]: Failed to connect to mailserver at &quot;localhost&quot; port 25, verify your &quot;SMTP&quot; and &quot;smtp_port&quot; setting in php.ini or use ini_set() 

Alguem aqui que utiliza essa extensão sabe me dizer se deixei passar algo?

Abraço

Dyego,

Você tem algum servidor de email local funcionando?

Somente chamar a função se tem um servidor de email não vai funcionar.

Da uma olhada na doc deles.

com o ‘transportType’ => ‘php’, se eu não me engano, ele usa a função mail do php mesmo. Logo, teria que configurar o php.ini e instalar um servidor de e-mail local.

Eu uso esta extensão sem problemas com um SMTP externo e funciona beleza.

Tenho sim, mas tinha uma configuração que tinha feito errada. Bom, ja consegui aqui.

Valeu pessoal.

Reabrindo este tópico, como você conseguiu amigo. Estou precisando disparar email para os usuários do sistema. Os mesmos tem hotmail, gmail dentre outros, como faço isto???:mellow:

Daniel se possível gostaria que colocasse um exemplo como você fez, pois estou tendo dificuldades com essa extensão.

Estão mostrando o erro:unsure:


Fatal error: Maximum execution time of 30 seconds exceeded in C:\wamp\www\yii-1.1.10\framework\base\CApplication.php on line [i]758[/i]

Opa cara. tranquilo?

Você tentou usar o Yii 1.1.8?

Eu estava tendo uns problemas semelhantes com o 1.1.10. Hoje a tarde eu posto o código que usei para esse caso.

abraço

Opa amigo…Tranquilo.

Estou usando o 1.1.10. Estou no aguardo do seu código.

Valeu:)

Aqui cara. A configuração da extensão ficou assim:


'mail'=>array(

                    'class' => 'ext.yii-mail.YiiMail',

 			'transportType' => 'smtp',

                        'transportOptions' => array (

                            'host' => 'smtp.googlemail.com',

                            'username' => 'mail@mail.com',

                            'password' => 'password',

                            'port' => 465,

                            'encryption' => 'ssl',

                        ),

 			'viewPath' => 'application.views.mail',

 			'logging' => true,

 			'dryRun' => false,

                ),



Amigos o que estou fazendo de errado…:mellow:

main.php




    	'mail' => array(

        	'class' => 'ext.yii-mail.YiiMail',

        	'transportType' => 'smtp',

        	'transportOptions' => array(

            	'host' => 'smtp.googlemail.com',

            	'username' => 'aqui meu email da gmail',

            	'password' => 'minha senha',

            	'port' => 465,

            	'encryption' => 'ssl',

        	),

        	'viewPath' => 'application.views.mail',

        	'logging' => true,

        	'dryRun' => false,

    	),



controller.php




public function sendEmail() {

    	Yii::import('ext.yii-mail.YiiMailMessage');

    	$message = new YiiMailMessage;

    	$message->setBody('Message content here with HTML', 'text/html');

    	$message->subject = 'My Subject';

    	$message->addTo('adriano.fgh@gmail.com');

    	$message->from = Yii::app()->params['adriano.fgh@gmail.com'];

    	Yii::app()->mail->send($message);

}



Porém mostra o erro




[b]PHP warning[/b]

C:\wamp\www\academico\protected\extensions\yii-mail\vendors\swiftMailer\classes\Swift\Transport\StreamBuffer.php(233)



Isso é apenas um teste pra enviar pra o meu email mesmo, se dê ok ai colocar para o email de cada usuário.

Se tiverem testando local não vai funcionar.

Só irá funcionar se instalar o fake sendmail.

http://glob.com.au/sendmail/

A noite irei testa online e postarei como estar, valeu newerton.:rolleyes:

Amigos,

Coloquei no ar a aplicação e quando vou tentar enviar os email, dá o seguinte erro:





 fsockopen() [<a  href='function.fsockopen'>function.fsockopen</a>]: unable to  connect to ssl://smtp.googlemail.com:465 (Connection timed out)



O que seria isto???w:mellow:

Adrian,

Se estiver usando o fake sendmail, precisa habilitar algumas extensão no php.ini


extension=php_curl.dll

extension=php_openssl.dll

Não sei se ele usar o curl, mais deixa habilitado ele.

Newerton,

Sei que estou apanhando por causa de besteira, mais como nunca tinha feito isto tô com problema.

Ainda continua dando o erro:

fsockopen() [<a href=‘function.fsockopen’>function.fsockopen</a>]: unable to connect to ssl://smtp.gmail.com:465 (Connection timed out)

Eu preciso colocar o fake sendmail, e como faço isso já que estou com o sistema no AR.

Não sei se a informação vai servir, mais na conexao com o BD ainda continuo utilizando o localhost.

Por favor amigo me ajude:unsure:

Adrian,

Você verificou as extensões no php.ini ?

Newerton, ele informou que o sistema está no AR, logo já deve estar com o smtp ativo.

Adrian, quais as configurações que estás utilizando para a biblioteca? São as mesmas lá de cima?

Já tentou configurar com o SMTP do seu servidor ao invés do Google?

Olá amigos, consegui com outra extensão, utilizei o PHPMailer e ficou assim:

main.php




	'components' => array(

    	'mailer' => array(

        	'class' => 'application.extensions.mailer.EMailer',

        	'pathViews' => 'application.views.email',

        	'pathLayouts' => 'application.views.email.layouts'

    	),

),



[b]

controller.php[/b]




                	$message = $text;

                	$mailer = Yii::createComponent('application.extensions.mailer.EMailer');

                	Yii::app()->mailer->IsSMTP();

                	Yii::app()->mailer->IsHTML(true);

                	Yii::app()->mailer->SMTPDebug = true;

                	Yii::app()->mailer->Mailer = 'smtps';

                	Yii::app()->mailer->SMTPAuth = true;

                	Yii::app()->mailer->SMTPSecure = 'ssl';

                	Yii::app()->mailer->Host = "smtp.gmail.com";

                	Yii::app()->mailer->Port = 465;


                	Yii::app()->mailer->From = 'email@gmail.com';

                	Yii::app()->mailer->FromName = 'EMAIL';


                	Yii::app()->mailer->AddAddress($model->emailresponsavel);


                	Yii::app()->mailer->ContentType = "text/html";

                	Yii::app()->mailer->CharSet = 'UTF-8';


                	Yii::app()->mailer->Subject = 'Teste ' ;

                	Yii::app()->mailer->Body = $message;


                	Yii::app()->mailer->Username = "usuario@gmail.com";

                	Yii::app()->mailer->Password = "senha";

                	Yii::app()->mailer->Send();



Rodou blza, valeu a todos…B)

Para enviar emails eu sugiro o MailChimp Mandrill. Reduz os seus problemas de infraestrutura e é grátis quando o envio de emails é pequeno.

Eu uso em um projeto e foi bem fácil de integrar com o Yii.

Faleu pela dica mentel, mais já que ficou funcionando vou deixar assim mesmo, o próximo posso tentar colocar o Mandrill, mais coloca aí o exemplo de utilização dele no Yii para os que necessitarem.

:)