2
0

Zend_Mail-Introduction.xml 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. <sect1 id="zend.mail.introduction">
  2. <title>Introduzione</title>
  3. <sect2 id="zend.mail.introduction.getting-started">
  4. <title>Come iniziare</title>
  5. <para>
  6. <code>Zend_Mail</code> fornisce delle funzionalità generiche per scrivere ed inviare messaggi e-mail sia in formato testuale sia compatibili con lo standard MIME multipart.
  7. <code>Zend_Mail</code> può inviare e-mail utilizzando il transpoter predefinito <code>Zend_Mail_Transport_Sendmail</code> oppure via <code>Zend_Mail_Transport_Smtp</code>.
  8. </para>
  9. <example id="zend.mail.introduction.example-1">
  10. <title>Semplice e-mail con Zend_Mail</title>
  11. <para>
  12. Una semplice e-mail è composta da alcuni destinatario, un oggetto, un contenuto ed un mittente. Ecco come inviare l'e-mail via <code>Zend_Mail_Transport_Sendmail</code>:
  13. </para>
  14. <programlisting role="php"><![CDATA[<?php
  15. require_once 'Zend/Mail.php';
  16. $mail = new Zend_Mail();
  17. $mail->setBodyText('Questo è il testo.');
  18. $mail->setFrom('qualcuno@example.com', 'Un mittente');
  19. $mail->addTo('qualcunaltro@example.com', 'Un destinatario');
  20. $mail->setSubject('Oggetto testuale');
  21. $mail->send();]]>
  22. </programlisting>
  23. </example>
  24. <note>
  25. <title>Specifiche minime</title>
  26. <para>
  27. Per poter inviare un'e-mail con <code>Zend_Mail</code> è necessario specificare almeno un destinatario, un mittente (con <code>setFrom()</code>) ed un messaggio (testo e/o HTML).
  28. </para>
  29. </note>
  30. <para>
  31. Per la maggior parte degli attributi sono disponibili specifici metodi "get" per leggere le informazioni salvate nell'oggetto e-mail.
  32. Per ulteriori dettagli fare riferimento alle API della classe.
  33. Un metodo speciale è <code>getRecipients()</code>. Restituisce un array contenente tutti gli indirizzi e-mail dei destinatari aggiunti prima della chiamata del metodo.
  34. </para>
  35. <para>
  36. Per ragioni di sicurezza, <code>Zend_Mail</code> filtra tutte le intestazioni per prevenire un attacco di tipo header injection utilizzando il carattere di nuova riga (<code>\n</code>).
  37. </para>
  38. <para>
  39. La maggior parte dei metodi di un oggetto Zend_Mail consente l'utilizzo di un'interfaccia fluida.
  40. Un'interfaccia fluida significa che ogni metodo restituisce un riferimento al metodo dal quale è stato chiamato consentendo di chiamare immediatamente un nuovo metodo in successione.
  41. </para>
  42. <programlisting role="php"><![CDATA[<?php
  43. require_once 'Zend/Mail.php';
  44. $mail = new Zend_Mail();
  45. $mail->setBodyText('Questo è il testo.')
  46. ->setFrom('qualcuno@example.com', 'Un mittente')
  47. ->addTo('qualcunaltro@example.com', 'Un destinaratio')
  48. ->setSubject('Oggetto testuale')
  49. ->send();]]>
  50. </programlisting>
  51. </sect2>
  52. <sect2 id="zend.mail.introduction.sendmail">
  53. <title>Configurazione del transport sendmail predefinito</title>
  54. <para>
  55. <code>Zend_Mail_Transport_Sendmail</code> è il transport predefinito per un'istanza di <code>Zend_Mail</code>.
  56. Consiste essenzialmente in un wrapper alla funzione PHP <ulink url="http://php.net/mail"><code>mail()</code></ulink>.
  57. Se si desidera passare parametri aggiuntivi alla funzione <ulink url="http://php.net/mail"><code>mail()</code></ulink> è sufficiente creare una nuova istanza del transport e fornire i parametri al costruttore.
  58. La nuova istanza può sia agire come transport predefinito per <code>Zend_Mail</code> sia essere passata al metodo <code>send()</code> di <code>Zend_Mail</code>.
  59. </para>
  60. <example id="zend.mail.introduction.sendmail.example-1">
  61. <title>Passaggio di parametri aggiuntivi al transport Zend_Mail_Transport_Sendmail</title>
  62. <para>
  63. Questo esempio mostra come cambiare l'intestazione Return-Path della funzione <ulink url="http://php.net/mail"><code>mail()</code></ulink>.
  64. </para>
  65. <programlisting role="php"><![CDATA[<?php
  66. require_once 'Zend/Mail.php';
  67. require_once 'Zend/Mail/Transport/Sendmail.php';
  68. $tr = new Zend_Mail_Transport_Sendmail('-fritorna_a_me@example.com');
  69. Zend_Mail::setDefaultTransport($tr);
  70. $mail = new Zend_Mail();
  71. $mail->setBodyText('Questo è il testo.');
  72. $mail->setFrom('qualcuno@example.com', 'Un mittente');
  73. $mail->addTo('qualcunaltro@example.com', 'Un destinatario');
  74. $mail->setSubject('Oggetto testuale');
  75. $mail->send();]]>
  76. </programlisting>
  77. </example>
  78. <note>
  79. <title>Restrizioni in Safe mode</title>
  80. <para>
  81. In caso PHP sia configurato con safe mode attivo, i parametri opzionali aggiuntivi possono impedire il corretto funzionamento di <ulink url="http://php.net/mail"><code>mail()</code></ulink> e l'invio dell'e-mail.
  82. </para>
  83. </note>
  84. </sect2>
  85. </sect1>
  86. <!--
  87. vim:se ts=4 sw=4 et:
  88. -->