Le mail in PHP con Swift Mailer

Giovedì 15 Luglio 2010 - 08:19

di Kiko

PHP e Open Source

Se state sviluppando una applicazione in PHP e avete bisogno di un solido supporto per la gestione delle mail, solitamente molti developer vi spediranno sul sito di a PHPMailer, senza dubbio fra le librerie più solide. Recentemente mi sono imbattuto, quasi per caso, in Swift Mailer.

La documentazione che potete trovare sul sito ufficiale è molto chiara ed esaustiva. Così come semplice è farne uso. Finora mi ha dato ampia soddisfazione. A titolo di esempio posto un semplicissimo codice per l’invio di una mail:

require_once '/path/of/swiftmailer/lib/swift_required.php';

$mymail = Swift_Message::newInstance()

  ->setSubject('Subject of this mail')

  ->setFrom(array('myname@mymail.com' => 'My Name'))

  ->setTo(array('yourname@yourmail.com' => 'Your Name'))

  ->setBody('This is the message!');

$mysmtp = Swift_SmtpTransport::newInstance('smtp.mymail.com', 25)

  ->setUsername('myusername')

  ->setPassword('mypassword');

$mailer = Swift_Mailer::newInstance($mysmtp);

$bool = $mailer->send($mailer);

Tags:

Categoria: PHP e Open Source | Permalink

Commenti

1

Ad un’occhiata veloce mi sembra davvero interessante.
Grazie per il suggerimento.

# - postato da Diego La Monica - 15 Luglio 2010 - 08:36

2

Se non conosco l’SMTP e volessi affidarmi all’MTA locale?

# - postato da emmebì - 15 Luglio 2010 - 09:26

3

@emmebi

$transport = Swift_MailTransport::newInstance();
$mailer = Swift_Mailer::newInstance($transport);

Swift è una delle cose migliori disponibili gratuitamente per PHP. Sviluppata seriamente, ad oggetti e completa. Sinceramente non so come faccia la gente ad usare PHPMailer, che è fatto da schifo a confronto…

# - postato da davide - 15 Luglio 2010 - 09:33

4

Tra l’altro da un po’ il project manager del progetto è Fabien Potencier :P

# - postato da Fra_T - 15 Luglio 2010 - 10:08

5

@Diego prego, l’ho ritenuto un progetto maturo!

# - postato da Kiko - 15 Luglio 2010 - 13:09

6

@emmebì, non ho capito!

# - postato da Kiko - 15 Luglio 2010 - 13:09

7

Infatti Symfony è passato a SwiftMailer (e non lo sapevo)!

# - postato da Kiko - 15 Luglio 2010 - 13:10

8

piccola correzione che dovresti apportare all’esempio:
$bool = $mailer->send($message);
dovrebbe essere:
$bool = $mailer->send($mymail);
ciao! :)

# - postato da Riccardo - 15 Luglio 2010 - 18:51

9

Assolutamente d’accordo, @Riccardo. Mi è sfuggito.

# - postato da Kiko - 15 Luglio 2010 - 19:50

10

Altra corezione, Swift_Mailer->send() non ritorna un boolean ma il numero di indirizzi a cui è stata effettivamente inviata l’email.

# - postato da davide - 16 Luglio 2010 - 10:27

11

@Davide, ergo: se non invia nulla torna zero=false, altrimenti tornerà un numero positivo=true!

# - postato da Kiko - 16 Luglio 2010 - 10:49

12

E’ accettabile soltanto perché PHP è loosely typed :)

# - postato da davide - 16 Luglio 2010 - 14:07

13

@davide eh lo so, ma è comodo!

# - postato da Kiko - 16 Luglio 2010 - 15:50

14

Comunque per i pignoli si può fare:

$bool = !!$mailer->send($mailer);

o

$bool = (bool) $mailer->send($mailer);

:D

# - postato da Fra_T - 20 Luglio 2010 - 12:35

Inserisci il tuo commento:





(puoi usare i seguenti tag HTML per formattare il testo -
a href, b, i, br/, p, strong, em, ul, ol, li, blockquote, pre):

 

Anteprima del commento