Use this method to create email messages in a mailbox such as Sent or
Draft.
$flags is an array of flags to be set to the $mail (if provided):
$flag can be one of:
- ANSWERED - message has been answered
- DELETED - message is marked to be deleted by later EXPUNGE
- DRAFT - message is marked as a draft
- FLAGGED - message is "flagged" for urgent/special attention
- SEEN - message has been read
This function automatically adds the '\' in front of each flag when
calling the server command.
Before calling this method, a connection to the IMAP server must be
established and a user must be authenticated successfully.
require_once 'tutorial_autoload.php'; // Create a new IMAP transport object by specifying the server name $imap = new ezcMailImapTransport("imap.example.com"); // Authenticate to the IMAP server $imap->authenticate("user", "password"); // Select the Inbox mailbox $imap->selectMailbox('Inbox'); // List the capabilities of the IMAP server $capabilities = $imap->capability(); // List existing mailboxes $mailboxes = $imap->listMailboxes("", "*"); // Fetch the hierarchy delimiter character (usually "/") $delimiter = $imap->getHierarchyDelimiter(); // Create a new mailbox $imap->createMailbox("Reports 2006"); // Delete a mailbox $imap->deleteMailbox("Reports 2005"); // Rename a mailbox $imap->renameMailbox("Reports 2006", "Reports"); // Copy messages from the selected mailbox (here: Inbox) to another mailbox $imap->copyMessages("1,2,4", "Reports"); // Set a flag to messages // See the function description for a list of supported flags $imap->setFlag("1,2,4", "DELETED"); // Clears a flag from messages // See the function description for a list of supported flags $imap->clearFlag("1,2,4", "SEEN"); // Append a message to a mailbox. $mail must contain the mail as text // Use this with a "Sent" or "Drafts" mailbox $imap->append("Sent", $mail);
public function testTagInHeadersAndBody() { $imap = new ezcMailImapTransport(self::$server, self::$port); $imap->authenticate(self::$user, self::$password); $imap->createMailbox("Guybrush"); $mail = new ezcMail(); $mail->from = new ezcMailAddress('*****@*****.**', 'From'); $mail->addTo(new ezcMailAddress('*****@*****.**', 'To')); $mail->subject = "A0000 A0001 A0002 A0003 A0004 A0005 A0006 A0007"; $mail->body = new ezcMailText("A0000\nA0001\nA0002\nA0003\nA0004\nA0005\nA0006\nA0007"); $data = $mail->generate(); $imap->append("Guybrush", $data); $imap->append("Guybrush", $data, array('Answered')); $imap->selectMailbox("Guybrush"); $set = $imap->fetchAll(); $parser = new ezcMailParser(); $mail = $parser->parseMail($set); $mail = $mail[0]; $imap->selectMailbox("Inbox"); $imap->deleteMailbox("Guybrush"); $this->assertEquals('A0000 A0001 A0002 A0003 A0004 A0005 A0006 A0007', $mail->subject); }