cortesi Fri Dec 21 06:40:08 2001 EDT
Modified files:
/phpdoc/it/functions mail.xml
Log:
long due update to EN current
Index: phpdoc/it/functions/mail.xml
diff -u phpdoc/it/functions/mail.xml:1.8 phpdoc/it/functions/mail.xml:1.9
--- phpdoc/it/functions/mail.xml:1.8 Wed Dec 12 15:51:54 2001
+++ phpdoc/it/functions/mail.xml Fri Dec 21 06:40:08 2001
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- EN-Revision: 1.15 Maintainer: fabio Status: ready -->
+<!-- EN-Revision: 1.34 Maintainer: cortesi Status: ready -->
+<!-- CREDITS: fabio -->
<reference id="ref.mail">
<title>Funzioni di Mail</title>
<titleabbrev>Mail</titleabbrev>
@@ -7,8 +8,58 @@
<simpara>
La funzione <function>mail</function> consente di inviare mail.
</simpara>
- </partintro>
+ <variablelist>
+ <title>Direttive di configurazione per Mail</title>
+
+ <varlistentry id="ini.smtp">
+ <term>
+ <parameter>SMTP</parameter>
+ <type>string</type>
+ </term>
+ <listitem>
+ <para>
+ Nome DNS o indirizzo IP del server SMTP che PHP sotto Windows
+ deve usare per spedire posta elettronica con la funzione
+<function>mail</function>
+ .</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="ini.sendmail-from">
+ <term>
+ <parameter>sendmail_from</parameter>
+ <type>string</type>
+ </term>
+ <listitem>
+ <para>
+ Quale campo "From:" devono avere i messaggi inviati da
+ PHP sotto Windows.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="ini.sendmail-path">
+ <term>
+ <parameter>sendmail_path</parameter>
+ <type>string</type>
+ </term>
+ <listitem>
+ <para>
+ Dove trovare il programma <command>sendmail</command>,
+ solitamente <filename>/usr/sbin/sendmail</filename> oppure
+ <filename>/usr/lib/sendmail</filename>.
+ <command>configure</command> cerca di trovare il file
+ e lo imposta di default, ma se non riesce a localizzarlo,
+ lo si pu� impostare qui.</para>
+ <para>
+ I sistemi che non usano sendmail devono impostare questa direttiva
+ al wrapper che i rispettivi sistemi di posta offrono, se esistenti.
+ Per esempio, gli utenti di <ulink url="&url.qmail;">Qmail</ulink>
+ possono normalmente impostarla a
+ <filename>/var/qmail/bin/sendmail</filename>.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </partintro>
<refentry id="function.mail">
<refnamediv>
@@ -21,7 +72,7 @@
<funcprototype>
<funcdef>bool <function>mail</function></funcdef>
<paramdef>string <parameter>a</parameter></paramdef>
- <paramdef>string <parameter>soggetto</parameter></paramdef>
+ <paramdef>string <parameter>oggetto</parameter></paramdef>
<paramdef>string <parameter>messaggio</parameter></paramdef>
<paramdef>string
<parameter><optional>header_addizionali</optional></parameter>
@@ -33,93 +84,139 @@
</funcprototype>
</funcsynopsis>
<simpara>
- <function>mail</function> invia automaticamente il messaggio specificato
- in <parameter>messaggio</parameter> al destinatario specificato in
- <parameter>a</parameter>. Destinatari multipli possono essere specificati
- mettendo una virgola tra ogni indirizzo in <parameter>a</parameter>.
+ <function>mail</function> invia automaticamente il messaggio specificato
+ in <parameter>messaggio</parameter> al destinatario specificato in
+ <parameter>a</parameter>. Destinatari multipli possono essere specificati
+ mettendo una virgola tra ogni indirizzo in <parameter>a</parameter>. Email con
+allegati e tipi speciali di
+ contenuto possono essere spedite usando questa funzione. Questo �
+ possibile tramite la codifica MIME. Per maggiori informazioni, fare riferimento a
+ <ulink url="http://www.zend.com/zend/spotlight/sendmimeemailpart1.php"
+ >http://www.zend.com/zend/spotlight/sendmimeemailpart1.php</ulink> o
+ <ulink url="&url.rfc1896;">RFC 1896</ulink>).
</simpara>
<para>
+ <function>mail</function> restituisce &true; se la mail � stata spedita con
+ successo, altrimenti restituisce &false;.
+ </para>
+ <para>
<example>
<title>Inviare mail.</title>
<programlisting>
-mail("[EMAIL PROTECTED]", "Soggetto", "Linea 1\nLinea 2\nLinea 3");
+<![CDATA[
+mail("[EMAIL PROTECTED]", "Oggetto", "Linea 1\nLinea 2\nLinea 3");
+]]>
</programlisting>
</example></para>
<simpara>
Se viene passata come parametro una quarta stringa, questa stringa viene inserita
alla fine dell'intestazione (header). Ci� viene tipicamente usato per
aggiungere intestazioni
- supplementari. Multipli intestazioni supplementari sono separati da un
carattere di "a capo" (newline).
+ supplementari. Intestazioni multiple supplementari sono separate da un carattere
+ di "a capo" (sia newline che carriage return).
</simpara>
+ <note>
+ <para>
+ È necessario usare <literal>\r\n</literal> per separare le intestazioni,
+ alcuni mail transfer agent sotto Unix potrebbero funzionare anche solo con un
+singolo newline
+ (<literal>\n</literal>). L'intestazione Cc: � case sensitive e deve essere
+scritta
+ esattamente cos� <literal>Cc:</literal> sui sistemi Win32. L'intestazione Bcc:
+ non � supportata dai sistemi Win32.
+ </para>
+ </note>
<para>
<example>
<title>Invio di mail con intestazioni supplementari.</title>
<programlisting>
-mail("[EMAIL PROTECTED]", "soggetto", $messaggio,
- "From: webmaster@$SERVER_NAME\nReply-To: webmaster@$SERVER_NAME\nX-Mailer: PHP/"
. phpversion());
+<![CDATA[
+mail("[EMAIL PROTECTED]", "oggetto", $messaggio,
+ "From: webmaster@$SERVER_NAME\r\n"
+ ."Reply-To: webmaster@$SERVER_NAME\\r\n"
+ ."X-Mailer: PHP/" . phpversion());
+]]>
</programlisting>
</example>
- Con il quinto parametro � possibile impostare dei parametri addizionali a linea
di comando per
- l'attuale mailer. Nell'esempio che segue viene impostato il corretto valore per
il Return-Path per
- sendmail. Normalmente sendmail aggiunge l'intestazione X-Authentication-Warning
- quando si utilizza il parametro -f, questo perch� l'utente del webserver
probabilmente non �
- membro degli utenti trusted. Per annullare questo warning, occorre inserire
l'utente del web server
- tra gli utenti trusted nel file di configurazione di sendmail.
</para>
- <note>
- <para>
- Questo quinto parametro � stato aggiunto in PHP 4.0.5.
- </para>
- </note>
<para>
+ Con il parametro <parameter>parametri_addizionali</parameter>
+ � possibile impostare parametri addizionali a linea di comando per
+ il programma configurato per inviare mail usando <literal>sendmail_path</literal>
+ . Per esempio si pu� impostare il corretto valore per envelope sender di
+ sendmail. Potrebbe essere necessario aggiungere l'utente che ha in esecuzione il
+server web
+ alla configurazione di sendmail per prevenire l'aggiunta
+ dell'intestazione 'X-Warning' quando si imposta envelope sender
+ in questo modo.
<example>
<title>Invio di mail con intestazioni supplementari e impostazione dei
parametri addizionali a linea di comando.</title>
<programlisting>
-mail("[EMAIL PROTECTED]", "soggetto", $messaggio,
- "From: webmaster@$SERVER_NAME", "-fwebmaster@$SERVERNAME");
+<![CDATA[
+mail("[EMAIL PROTECTED]", "oggetto", $messaggio,
+ "From: webmaster@$SERVER_NAME", "-fwebmaster@$SERVER_NAME");
+]]>
</programlisting>
</example>
- E' possibile costruire messaggi complessi utilizzando la tecnica di
concatenazione delle stringhe.
+ </para>
+ <note>
+ <para>
+ Questo quinto parametro � stato aggiunto in PHP 4.0.5.
+ </para>
+ </note>
+ <para>
+ È possibile costruire messaggi complessi utilizzando la tecnica di
+ concatenazione delle stringhe.
<example>
<title>Invio di mail complessa.</title>
<programlisting>
+<![CDATA[
/* destinatari */
-$destinatari .= "Mary <[EMAIL PROTECTED]>" . ", " ; //note the comma
-$destinatari .= "Kelly <[EMAIL PROTECTED]>" . ", ";
-$destinatari .= "[EMAIL PROTECTED]";
+$destinatari .= "Maria <[EMAIL PROTECTED]>" . ", " ; // notare la virgola
+$destinatari .= "Kelly <[EMAIL PROTECTED]>";
-/* soggetto */
-$soggetto = "Promemoria compleanno per Agosto";
+/* oggetto */
+$oggetto = "Promemoria compleanni per Agosto";
/* messaggio */
-$messaggio .= "La seguente mail include una tabella ASCII formattata\n";
-$messaggio .= "Giorno \t\tMese \t\tAnno\n";
-$messaggio .= "3-terzo \t\tAgo \t\t1970\n";
-$messaggio .= "17-esimo\t\tAgo \t\t1973\n";
-
-/* � possibile inserire una blocco con la firma */
-$messaggio .= "--\r\n"; //Delimitatore di firma
-$messaggio .= "Promemoria di compleanno con senza propriet� d'autore ma di pubblico
dominio";
-
-/* intestazioni addizionali per errori, campo CC, BCC, etc */
-
-$intestazioni .= "From: Birthday Reminder <[EMAIL PROTECTED]>\n";
-$intestazioni .= "X-Sender: <[EMAIL PROTECTED]>\n";
-$intestazioni .= "X-Mailer: PHP\n"; // mailer
-$intestazioni .= "X-Priority: 1\n"; // Messaggio urgente!
-$intestazioni .= "Return-Path: <[EMAIL PROTECTED]>\n"; // Indirizzo di ritorno per
errori
+$messaggio = '
+<html>
+<head>
+ <title>Promemoria compleanni per Agosto</title>
+</head>
+<body>
+<p>Questi sono i compleanni di Agosto!</p>
+<table>
+ <tr>
+ <th>Persona</th><th>Giorno</th><th>Mese</th><th>Anno</th>
+ </tr>
+ <tr>
+ <td>Joe</td><td>3</td><td>Agosto</td><td>1970</td>
+ <td>Sally</td><td>17</td><td>Agosto</td><td>1973</td>
+ </tr>
+</table>
+</body>
+</html>
+';
+
+/* Per inviare email in formato HTML, si deve impostare l'intestazione Content-type.
+*/
+$intestazioni = "MIME-Version: 1.0\r\n";
+$intestazioni .= "Content-type: text/html; charset=iso-8859-1\r\n";
-/* Se si vuole inviare una mail in formato html, togliere il commento alla seguente
linea */
-// $intestazioni .= "Content-Type: text/html; charset=iso-8859-1\n"; // Tipo Mime
+/* intestazioni addizionali */
+$intestazioni .= "From: Promemoria Compleanni <[EMAIL PROTECTED]>\r\n";
-$intestazioni .= "cc:[EMAIL PROTECTED]\n"; // CC in copia a
-$intestazioni .= "bcc:[EMAIL PROTECTED], [EMAIL PROTECTED]\n"; // BCC in
copia cieca a
+$intestazioni .= "Cc: [EMAIL PROTECTED]\r\n";
+$intestazioni .= "Bcc: [EMAIL PROTECTED]\r\n";
/* ed infine l'invio */
-mail($destinatari, $soggetto, $mesaggio, $intestazioni);
+mail($destinatari, $oggetto, $messaggio, $intestazioni);
+]]>
</programlisting>
</example>
</para>
-
+ <note>
+ <para>
+ Assicurarsi di non avere nessun carattere di newline nei parametri
+ <parameter>a</parameter> o <parameter>oggetto</parameter>,
+ o la mail non verr� spedita correttamente.
+ </para>
+ </note>
</refsect1>
</refentry>
@@ -142,12 +239,14 @@
</simpara>
<para>
<example>
- <title>Calcolare l'hash e sottoscrivere un utente</title>
+ <title>Calcolare l'hash e iscrivere un utente</title>
<programlisting>
-$utente = "[EMAIL PROTECTED]";
+<![CDATA[
+$utente = "[EMAIL PROTECTED]";
$hash = ezmlm_hash ($utente);
$query = sprintf ("INSERT INTO esempio VALUES (%s, '%s')", $hash, $utente);
$db->query($query); // tramite l'interfaccia db PHPLIB
+]]>
</programlisting>
</example>
</para>
@@ -156,7 +255,7 @@
</reference>
- <!-- Keep this comment at the end of the file
+<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t