Posta di PHP

In questo articolo, stiamo andando guardare alcune delle domande frequentemente fatte per quanto riguarda il E-mail e PHP. Cominceremo guardando un'edizione più fondamentale: come realmente trasmettere un E-mail come HTML.

Come trasmetto un E-mail come HTML?

  

Poichè la funzione della posta di PHP stabilizza a trasmettere i E-maihi normali del testo salvo specificazione contraria, una frequente domanda è come trasmettere i E-maihi del HTML usando la funzione della posta. La disposizione per la funzione della posta è come segue:

mail($to, #, #, 
#);  

a dove $to è l'indirizzo di E-mail da trasmettere, $subject è la linea tematica per il E-mail, $message contiene il messaggio di E-mail e $headers contiene tutte le intestazioni che facoltative potete desiderare per aggiungere.

Per trasmettere un E-mail che è riconosciuto e trattare come il HTML, dovete usare due intestazioni speciali:

MIME-Versione: Soddisfare-tipo 1.0: text/html;
charset=iso-8859-1  

Questi dovrebbero essere inclusi nella variabile di $headers come indicato nel seguente codice completo:

<?php $to = "gareth@myemail.com"; $subject = 
"questo è un E-mail del HTML"; $message = "< 
style=\"font-famiglia della portata: Arial, helvetica, 
sans-serif; serie-formato: 20px; serie-peso: 
GRASSETTO; colore: # 009900 \">"; $message. = 
"questo è un messaggio di E-mail del HTML"; $message. = 
"</portata >"; $headers = "MIME-Versione: 1.0\n "; 
$headers. = "Soddisfare-tipo: text/html; 
charset=iso-8859-1\n "; $headers. = "da: 
gareth<gareth@myemail.com > "; mail($to, 
#, #, #); ? >  

È importante notare quello per fare funzionare il codice, dovete avere una messa a punto dell'assistente di E-mail, in modo da è il più facile da verificare questo codice sul vostro assistente dell'ospite di fotoricettore.

Mentre il E-mail sta trasmettendo come HTML, potete includere le modifiche del HTML nel messaggio, come indicato nel codice preceding. Quando il E-mail è ricevuto, il E-mail sarà reso come HTML page (che suppone che il programma di E-mail dell'utente ha quella funzione).

Come trasmetto un bollettino con PHP?

Se desiderate trasmettere un bollettino fuori ad un certo numero di utenti immediatamente, nascondendo il E-mail richiama in modo da il destinatario non può vedere a chi altrimenti avete trasmesso la posta, voi può usare l'intestazione del bcc, che corrisponde "alla copia con carta carbone cieca." Tutti gli indirizzi nell'intestazione del bcc saranno trasmessi ad una copia del E-mail, ma non possono vedere a chi altrimenti è stato trasmesso. Il seguente codice mostra un esempio di funzionamento, che trasmette il E-mail ad ogni indirizzo nell'allineamento fornito:

<?php $addresses = array("fred@cemetry.com", 
"george@another.com"); ? > <? $to = 
"gareth@myemail.co.uk"; $subject = "Bollettino di PHP"; 
$message = "questo E-mail mostra come usare un'intestazione di 
BCC per trasmettere un bollettino"; $headers. = "da: 
gareth<gareth@myemail.co.uk>\n "; $headers. = "bcc:
"; $count = 0; foreach($addresses come == 
0){$headers di $address){if($count. = #; 
}else{$headers. = ",". #; } 
$count ++;} $headers. = "\n"; mail($to, 
#, #, #); ? >  

Nel codice preceding, tutti gli indirizzi di E-mail sono specificati nell'allineamento di $addresses. Ciò ha potuto essere cambiata per usare un campo da un recordset per ottenere gli indirizzi di E-mail da una tabella della base di dati.

Se state trasmettendo lo stesso E-mail a tantissimi utenti, il metodo precedente è il senso migliore. Ciò è perché PHP si mette in contatto con una volta il mail server ed allora il mail server ha il lavoro di trasmissione del E-mail a tutti gli indirizzi di E-mail specificati, che significa che lo scritto di PHP rifinisce più rapidamente ed usa poche risorse.

Se, tuttavia, state trasmettendo un E-mail reso personale, ogni E-mail dovrà essere trasmesso individualmente da PHP per aggiungere i dati individualizzati.

Come arresto uno scritto dal cronometrare fuori quando trasmette molti E-maihi?

Se state trasmettendo un E-mail reso personale a tantissimi utenti, dovete trasmettere individualmente ogni E-mail e può occorrere un istante affinchè lo scritto spedisca tutti i E-maihi. Ciò genera a volte un problema, poichè lo scritto può cronometrare fuori prima che tutti i E-maihi siano stati trasmessi.

Per evitare questo, dovete aumentare il tempo che lo scritto può funzionare per. La regolazione di difetto è solitamente di 30 secondi. Potete aumentare la scadenza per uno scritto aggiungendo il seguente codice alla parte superiore della pagina:

<?php set_time_limit(5*60); ? >  

Ciò permetterà che lo scritto funzioni per fino a 5 minuti (60 * 5 = 300 secondi).

ciò è un articolo aggiunto da Stratus Huo Quan


Diniego: Il nostro Web site non è responsabile delle informazioni contenute da questo articolo. Questo articolo in nessun modo riflette le viste, le opinioni, i pensieri o la credenza del personale dell'indice degli articoli.

Avviso di traduzione: L'articolo "posta di PHP" è stato tradotto usando un servizio di traduzione automatizzato. Chiediamo scusa francamente per tutti gli errori di traduzione che hanno accaduto. Grazie per capire.

Online: 492 users browsing the articles directory