Home > networking, programmazione > Zend Framework inviare mail autenticandosi ad SMTP

Zend Framework inviare mail autenticandosi ad SMTP

July 17th, 2009

Dicevo : In questo post e nei succevvisi cercherò di spiegare in maniera abbastanza semplice come poter usare la API di zendframework per spedire mail .
Ora Vediamo come autenticarsi al server di posta SMTP per inviare le mail usando Zend_Mail.

Per prima cosa serve aver accesso ad un SMTP che richiede autenticazione , SitoNERD.com con i piani di hosting comprensivi di posta fornisce SMTP autenticato per l’invio della propria posta , un bel risparmio di tempo per tutti coloro che viaggiano molto e devono sottostare alla regola del relay del proprio operatore .

Zend Framework è un framework completo per lo sviluppo in MVC , ma è anche possibile usare le singole API per progetti minimi .

In questo post esemplifico come poter inviare una mail usando l’oggetto Zend_Mail tramite il protocollo SMTP autenticato .

Iniziamo scaricando solo il componente che ci serve , cioè mail :
Per questi test userò il repositor SVN .
PEr prima cosa ci posizioniamo nella directory dove faremo eseguire lo script ( generalmente /var/www )

#cd /var/www

Scarichiamo l’oggetto Mail.php

wget http://framework.zend.com/svn/framework/standard/trunk/library/Zend/Mail.php

e poi scarichiamo tutti i metodi richiesti dalla classe Zend_Mail

svn checkout http://framework.zend.com/svn/framework/standard/trunk/library/Zend/Mail

La classe Smtp.php serve solamente per gestire il protocollo SMTP

Inziamo con includere la classe nel nostro codice

require_once(‘./Zend/Mail/Transport/Smtp.php’);

Fatto questo abbiamo a disposizione il protocollo , quindi possiamo inziare a popolare l’array delle impostazioni con i dati per l’autenticazione .

// creazione dell’oggetto transport , ovvero autenticazione al server smtp
$config = array(‘auth’ => ‘login’,
‘username’ => ‘Utente@sitonerd.com’,
‘password’ => ‘PasswordUtente’);

Abbiamo le impostazioni ed ora non resterà che passarle all’oggetto Zend_Mail_Tranport

$transport = new Zend_Mail_Transport_Smtp(‘smtp.sitonerd.com’, $config);

Et voilà abbiamo il metodo di autenticazione protno per l’uso .

Abbiamo la base dell’autenticazione , quindi non resta che usarla con Zend_Mail , come ?
Bhe l’SMTP è il procollo di invio ( in inglese SEND ) quindi per logica richiamiamo il metodo nella funzione send() di Zend_Mail :)
Quindi riprendendo in mano il codice del posta precedente :

< ?php
require('./Zend/Mail.php'); /* inclusione della classe */
$mail = new Zend_Mail; /* inizializzo l'oggetto Zend_Mail */
$mail->setFrom(‘mittente@dominio.com’, ‘Nome mittente’); /* preparo il metodo per il mittente */
$mail->addTo(‘destinatario@dominio.com’, ‘Nome destinatario’); /* preparo il metodo per il destinario */
$mail->setSubject(‘oggetto messaggio’); /* preparo il metodo per l’oggetto */
$mail->setBodyText(‘testo messaggio’); /* preparo il metodo per il messaggio */
//$mail->send(); /* concludo con il meotodo di invio generico */
$mail->send($transport); /* concludo con il meotodo di invio autenticato */

Esempio molto semplice e veloce sull’uso di Zend_Mail usando SMTP autenticato , nel prossimo relativo a zendframework faremo il test per l’invio di una mail usando un server SMTP esterno autenticato inviando anche un allegato .

matteo networking, programmazione , , ,

  1. No comments yet.
  1. No trackbacks yet.