<?php require_once "vendor/autoload.php"; use jamesiarmes\PEWS\API\Type; use jamesiarmes\PEWS\Mail\MailAPI; $api = MailAPI::withUsernameAndPassword('server', 'username', 'password'); $message = new Type\MessageType(); $message->setBody('Some Text'); $message->setSubject('Test Subject'); $message->setToRecipients('*****@*****.**'); $return = $api->sendMail($message);
<?php require_once "vendor/autoload.php"; use jamesiarmes\PEWS\API\Type; use jamesiarmes\PEWS\Mail\MailAPI; $api = MailApi::withUsernameAndPassword('server', 'username', 'password'); //Create the message item $message = new Type\MessageType(); $message->setSubject('Test Message'); $message->setBody('Test Draft Body'); //Set the message as not a draft using extended property types $extended = new Type\ExtendedPropertyType(); $fieldUri = new Type\ExtendedFieldURI(); $fieldUri->setPropertyTag("0x0E07"); $fieldUri->setPropertyType(\jamesiarmes\PEWS\API\Enumeration\MapiPropertyTypeType::INTEGER); $extended->setExtendedFieldURI($fieldUri); $extended->setValue(1); $message->addExtendedProperty($extended); //Pass it to the Send Mail function, but to SaveOnly without actually sending the email $itemId = $api->sendMail($message, array('MessageDisposition' => 'SaveOnly')); //Move the mail message from the sent folder to whatever folder we want to send it to $api->getClient()->MoveItem(Type::buildFromArray(array('ToFolderId' => array('FolderId' => $folderId->toArray()), 'ItemIds' => array('ItemId' => $itemId->toArray()))));
public function testGetUnreadMailItems() { $client = $this->getClient(); $unreadItems = $client->getUnreadMailItems(); $this->assertCount(0, $unreadItems); $this->createTestMail(); $unreadItems = $client->getUnreadMailItems(); $this->assertCount(0, $unreadItems); $message = new Type\MessageType(); $message->setSubject('Test Message'); $message->setBody('Test Draft Body'); $message->setIsRead(false); $this->createTestMail($message); $unreadItems = $client->getUnreadMailItems(); $this->assertCount(1, $unreadItems); }
public function sendMail(MessageType $message, $options = array()) { $items = array('Message' => $message->toXmlObject()); $defaultOptions = array('MessageDisposition' => 'SendAndSaveCopy'); if ($this->getPrimarySmtpMailbox() != null) { $sentItems = $this->getFolderByDistinguishedId('sentitems')->getFolderId(); $defaultOptions['SavedItemFolderId'] = array('FolderId' => $sentItems->toXmlObject()); } $options = array_replace_recursive($defaultOptions, $options); return $this->createItems($items, $options); }