Come inviare allegati e-mail in PHP

April 14

Come inviare allegati e-mail in PHP


L'invio di messaggi di posta elettronica da una pagina web è un compito abbastanza comune, e spesso è richiesto l'invio di un file allegato --- forse si sta inviando un dump del database o un'immagine che un utente ha caricato. Mentre la libreria PHP standard contiene funzionalità per inviare regolare, e-mail di testo normale, il supporto per le funzionalità di posta elettronica più avanzate (ad esempio HTML e allegati) è disponibile, ma può apparire complicato per l'utente inesperto. Queste caratteristiche, tuttavia, sono forniti dal pacchetto PEAR :: Mail_Mime, che è liberamente disponibile dal repository PEAR. PEAR è un sistema di distribuzione di componenti PHP che contiene le librerie di PHP e le classi ed è un punto di partenza ideale per intraprendere una nuova attività in PHP.

istruzione

1 Installare il pacchetto PEAR :: Mail_Mime sul sistema (sia piattaforma di sviluppo e server). (Se il sistema non dispone di PEAR installato, consultare la sezione "Risorse"). Utilizzare il seguente comando al prompt dei comandi:

pear install Mail_Mime

Questo installerà l'ultima versione del pacchetto Mail_Mime dai repository PEAR.

2 Apri il tuo script PHP nel testo ambiente EDITOR / sviluppo della scelta. Questo può essere uno script PHP esistente che si ha intenzione di aggiungere la funzionalità o un nuovo script per comprendere le funzionalità di posta per il proprio sistema.

3 Includere i mail.php and Mail / scripts mime.php nello script php:

<? Php

include ( 'mail.php');

include ( 'Mail / mime.php');

4 Costruire il contenuto del messaggio (dopo il sopra "include" dichiarazioni) e informazioni correlate:

$ MsgText = "Questo è il testo della e-mail piuttosto noioso, eh.?";

$ MsgHtml = "<html> <body> Questa è l'e-mail HTML - <strong> super cool </ strong> </ body> </ html>!";

$ ToAttach = "/path/to/our/file.txt";

$ MsgHeaders = array ( 'From' => '[email protected]', 'salvo' => 'Questo è un messaggio di prova ci sono tanti come lui, ma questo è il mio..');

5 Creare l'oggetto Mail_Mime (ancora una volta, al di sotto di quello che è stato aggiunto sopra):

// Parametro è opzionale, ma abbiamo bisogno di impostarlo su "\ n", in quanto stiamo andando a inviarlo

// Tramite il pacchetto di posta

$ MailMime = new Mail_Mime ( '\ n');

$ MailMime-> setTXTBody ($ msgText);

$ MailMime-> setHTMLBody ($ msgHtml);

$ MailMime-> AddAttachment ($ toAttach, 'text / plain');

6 Costruire l'oggetto di posta utilizzato per inviare il messaggio:

$ MsgBody = $ mailMime-> get ();

$ MsgHeaders = $ mailMime-> intestazioni ($ msgHeaders);

$ MailObject = & Mail :: factory ( 'posta');

$ MailObject-> inviare ('[email protected] ', $ msgHeaders, $ msgBody);