Skip to content

Commit 74b019d

Browse files
committed
Made a simple way to send mail. Fixed add() function. Fixed EmailAddress class.
1 parent c1f3283 commit 74b019d

14 files changed

Lines changed: 136 additions & 43 deletions

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
# Changelog
22

3+
## 0.5.1 - 2015-08-24
4+
* Added an example for sending mail
5+
36
## 0.5.0 - 2015-08-24
47
* Massive Breaking Change
58
* Some basic mail fetching functions

Resources/wsdl/types.xsd

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@
100100
</xs:anyAttribute>
101101
</xs:complexType>
102102
<xs:element name="OpenAsAdminOrSystemService" type="t:OpenAsAdminOrSystemServiceType" />
103-
103+
104104
<!-- External sharing security header for person-to-person sharing relationships -->
105105
<xs:element name="SharingSecurity" type="t:EncryptedDataContainerType"/>
106106

@@ -470,7 +470,7 @@
470470
<xs:enumeration value="contacts:WeddingAnniversary" />
471471
<xs:enumeration value="contacts:UserSMIMECertificate" />
472472
<xs:enumeration value="contacts:HasPicture" />
473-
473+
474474
<xs:enumeration value="distributionlist:Members" />
475475

476476
<!-- Post item -->
@@ -1240,25 +1240,25 @@
12401240
<xs:element name="DistinguishedFolderId" type="t:DistinguishedFolderIdType"/>
12411241
</xs:choice>
12421242
</xs:complexType>
1243-
1243+
12441244
<!-- UploadItems types -->
12451245
<xs:complexType name="NonEmptyArrayOfUploadItemsType">
12461246
<xs:sequence>
12471247
<xs:element name="Item" type="t:UploadItemType" maxOccurs="unbounded" minOccurs="1"/>
12481248
</xs:sequence>
12491249
</xs:complexType>
1250-
1250+
12511251
<!-- UploadItemType-->
12521252
<xs:complexType name="UploadItemType">
12531253
<xs:sequence>
12541254
<xs:element name="ParentFolderId" type="t:FolderIdType" maxOccurs ="1" minOccurs ="1"/>
12551255
<xs:element name="ItemId" type="t:ItemIdType" maxOccurs ="1" minOccurs="0"/>
1256-
<xs:element name="Data" type="xs:base64Binary" maxOccurs ="1" minOccurs ="1"/>
1256+
<xs:element name="Data" type="xs:base64Binary" maxOccurs ="1" minOccurs ="1"/>
12571257
</xs:sequence>
12581258
<xs:attribute name="CreateAction" type="t:CreateActionType" use="required"/>
12591259
<xs:attribute name="IsAssociated" type="xs:boolean" use="optional"/>
12601260
</xs:complexType>
1261-
1261+
12621262
<!-- CreateActionType -->
12631263
<xs:simpleType name="CreateActionType">
12641264
<xs:restriction base="xs:string">
@@ -1446,7 +1446,7 @@
14461446
<xs:complexType name="NonEmptyArrayOfItemIdsType">
14471447
<xs:sequence>
14481448
<xs:element name="ItemId" type="t:ItemIdType" maxOccurs ="unbounded" minOccurs ="1"/>
1449-
</xs:sequence>
1449+
</xs:sequence>
14501450
</xs:complexType>
14511451

14521452
<!-- Item classes -->
@@ -1699,7 +1699,7 @@
16991699
<xs:enumeration value="SetReadState" />
17001700
</xs:restriction>
17011701
</xs:simpleType>
1702-
1702+
17031703
<xs:complexType name="ConversationActionType">
17041704
<xs:sequence>
17051705
<xs:element name="Action" type="t:ConversationActionTypeType" minOccurs="1" maxOccurs="1" />
@@ -3603,7 +3603,7 @@
36033603
<xs:element name="MovedEvent" type="t:MovedCopiedEventType"/>
36043604
<xs:element name="NewMailEvent" type="t:BaseObjectChangedEventType"/>
36053605
<xs:element name="StatusEvent" type="t:BaseNotificationEventType"/>
3606-
<xs:element name="FreeBusyChangedEvent" type="t:BaseObjectChangedEventType"/>
3606+
<xs:element name="FreeBusyChangedEvent" type="t:BaseObjectChangedEventType"/>
36073607
</xs:choice>
36083608
</xs:sequence>
36093609
</xs:complexType>
@@ -3682,14 +3682,14 @@
36823682
<xs:enumeration value="Unsubscribe" />
36833683
</xs:restriction>
36843684
</xs:simpleType>
3685-
3685+
36863686
<xs:complexType name="NonEmptyArrayOfSubscriptionIdsType">
36873687
<xs:sequence>
36883688
<xs:element name="SubscriptionId" type="t:SubscriptionIdType" minOccurs="1"
36893689
maxOccurs="unbounded" />
36903690
</xs:sequence>
36913691
</xs:complexType>
3692-
3692+
36933693
<xs:complexType name="NonEmptyArrayOfNotificationsType">
36943694
<xs:sequence>
36953695
<xs:element name="Notification" type="t:NotificationType" minOccurs="0"
@@ -4854,7 +4854,7 @@
48544854
<xs:choice minOccurs="0" maxOccurs="unbounded">
48554855
<xs:element name="ArrayOfTrackingPropertiesType" type="t:ArrayOfTrackingPropertiesType" />
48564856
</xs:choice>
4857-
</xs:complexType>
4857+
</xs:complexType>
48584858

48594859
<xs:complexType name="ArrayOfRecipientTrackingEventType">
48604860
<xs:choice minOccurs="0" maxOccurs="unbounded">

examples/mail/sendMail.php

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?php
2+
3+
require_once "vendor/autoload.php";
4+
5+
use jamesiarmes\PEWS\API\Type;
6+
7+
$api = new \jamesiarmes\PEWS\Mail\MailAPI();
8+
$api->buildClient('server', 'username', 'password');
9+
10+
11+
$message = new Type\MessageType();
12+
$message->setBody('Some Text');
13+
$message->setSubject('Test Subject');
14+
$message->setToRecipients('Test.User-True@multrix.com');
15+
16+
$return = $api->sendMail($message);

src/API/ClassMap.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,7 @@ class ClassMap
240240
'Duration' => '\\jamesiarmes\\PEWS\\API\\Type\\DurationType',
241241
'EffectiveRightsType' => '\\jamesiarmes\\PEWS\\API\\Type\\EffectiveRightsType',
242242
'EmailAddressDictionaryEntryType' => '\\jamesiarmes\\PEWS\\API\\Type\\EmailAddressDictionaryEntryType',
243-
'EmailAddress' => '\\jamesiarmes\\PEWS\\API\\Type\\Mailbox',
243+
'EmailAddressType' => '\\jamesiarmes\\PEWS\\API\\Type\\EmailAddressType',
244244
'EncryptedDataContainerType' => '\\jamesiarmes\\PEWS\\API\\Type\\SharingSecurity',
245245
'EncryptedSharedFolderDataType' => '\\jamesiarmes\\PEWS\\API\\Type\\EncryptedSharedFolderDataType',
246246
'EndDateRecurrenceRangeType' => '\\jamesiarmes\\PEWS\\API\\Type\\EndDateRecurrenceRangeType',
@@ -292,6 +292,7 @@ class ClassMap
292292
'KeywordStatisticsSearchResultType' => '\\jamesiarmes\\PEWS\\API\\Type\\KeywordStatisticsSearchResultType',
293293
'MailTipsServiceConfiguration' => '\\jamesiarmes\\PEWS\\API\\Type\\MailTipsServiceConfigurationType',
294294
'MailTips' => '\\jamesiarmes\\PEWS\\API\\Type\\MailTipsType',
295+
'EmailAddress' => '\\jamesiarmes\\PEWS\\API\\Type\\Mailbox',
295296
'MailboxCultureType' => '\\jamesiarmes\\PEWS\\API\\Type\\MailboxCultureType',
296297
'MailboxData' => '\\jamesiarmes\\PEWS\\API\\Type\\MailboxDataType',
297298
'MailboxStatisticsSearchResultType' => '\\jamesiarmes\\PEWS\\API\\Type\\MailboxStatisticsSearchResultType',

src/API/Message/GetUserOofSettingsRequestType.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@
88
*
99
* XSD Type: GetUserOofSettingsRequest
1010
*
11-
* @method \jamesiarmes\PEWS\API\Type\Mailbox getMailbox()
12-
* @method GetUserOofSettingsRequestType setMailbox(\jamesiarmes\PEWS\API\Type\Mailbox $mailbox)
11+
* @method \jamesiarmes\PEWS\API\Type\EmailAddressType getMailbox()
12+
* @method GetUserOofSettingsRequestType setMailbox(\jamesiarmes\PEWS\API\Type\EmailAddressType $mailbox)
1313
*/
1414
class GetUserOofSettingsRequestType extends BaseRequestType
1515
{
1616

1717
/**
18-
* @var \jamesiarmes\PEWS\API\Type\Mailbox
18+
* @var \jamesiarmes\PEWS\API\Type\EmailAddressType
1919
*/
2020
protected $mailbox = null;
2121
}

src/API/Message/SetUserOofSettingsRequestType.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,16 @@
88
*
99
* XSD Type: SetUserOofSettingsRequest
1010
*
11-
* @method \jamesiarmes\PEWS\API\Type\Mailbox getMailbox()
12-
* @method SetUserOofSettingsRequestType setMailbox(\jamesiarmes\PEWS\API\Type\Mailbox $mailbox)
11+
* @method \jamesiarmes\PEWS\API\Type\EmailAddressType getMailbox()
12+
* @method SetUserOofSettingsRequestType setMailbox(\jamesiarmes\PEWS\API\Type\EmailAddressType $mailbox)
1313
* @method \jamesiarmes\PEWS\API\Type\UserOofSettings getUserOofSettings()
1414
* @method SetUserOofSettingsRequestType setUserOofSettings(\jamesiarmes\PEWS\API\Type\UserOofSettings $userOofSettings)
1515
*/
1616
class SetUserOofSettingsRequestType extends BaseRequestType
1717
{
1818

1919
/**
20-
* @var \jamesiarmes\PEWS\API\Type\Mailbox
20+
* @var \jamesiarmes\PEWS\API\Type\EmailAddressType
2121
*/
2222
protected $mailbox = null;
2323

src/API/Type.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public function __call($name, $arguments)
3333
}
3434

3535
if ($callType == "add" && count($arguments) == 1) {
36-
return $this->add($propertyName, $arguments);
36+
return $this->add($propertyName, $arguments[0]);
3737
}
3838

3939
if ($callType == "is" && count($arguments) == 0) {

src/API/Type/BodyType.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,10 @@ class BodyType extends Type
2020
* @var string
2121
*/
2222
protected $bodyType = null;
23+
24+
public function __construct($text, $type = 'HTML')
25+
{
26+
$this->_ = $text;
27+
$this->bodyType = $type;
28+
}
2329
}

src/API/Type/EmailAddressType.php

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,24 @@
22

33
namespace jamesiarmes\PEWS\API\Type;
44

5-
use jamesiarmes\PEWS\API\Type;
6-
75
/**
86
* Class representing EmailAddressType
97
*
10-
*
11-
* XSD Type: EmailAddress
8+
* Identifier for a fully resolved email address
9+
* XSD Type: EmailAddressType
1210
*
1311
* @method string getName()
1412
* @method EmailAddressType setName(string $name)
15-
* @method string getAddress()
16-
* @method EmailAddressType setAddress(string $address)
13+
* @method string getEmailAddress()
14+
* @method EmailAddressType setEmailAddress(string $emailAddress)
1715
* @method string getRoutingType()
1816
* @method EmailAddressType setRoutingType(string $routingType)
17+
* @method string getMailboxType()
18+
* @method EmailAddressType setMailboxType(string $mailboxType)
19+
* @method ItemIdType getItemId()
20+
* @method EmailAddressType setItemId(ItemIdType $itemId)
1921
*/
20-
class EmailAddressType extends Type
22+
class EmailAddressType extends BaseEmailAddressType
2123
{
2224

2325
/**
@@ -28,10 +30,20 @@ class EmailAddressType extends Type
2830
/**
2931
* @var string
3032
*/
31-
protected $address = null;
33+
protected $emailAddress = null;
3234

3335
/**
3436
* @var string
3537
*/
3638
protected $routingType = null;
39+
40+
/**
41+
* @var string
42+
*/
43+
protected $mailboxType = null;
44+
45+
/**
46+
* @var \jamesiarmes\PEWS\API\Type\ItemIdType
47+
*/
48+
protected $itemId = null;
3749
}

src/API/Type/ExchangeImpersonationType.php

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,19 @@
1515
*/
1616
class ExchangeImpersonationType extends Type
1717
{
18+
19+
/**
20+
* @var \jamesiarmes\PEWS\API\Type\ConnectingSIDType
21+
*/
22+
protected $connectingSID = null;
23+
1824
public static function fromEmailAddress($emailAddress)
1925
{
20-
$impersonation = new static();
26+
$impersonation = new self();
2127
$connectingSID = new ConnectingSIDType();
2228
$connectingSID->setPrimarySmtpAddress($emailAddress);
2329

2430
$impersonation->setConnectingSID($connectingSID);
2531
return $impersonation;
2632
}
27-
28-
/**
29-
* @var \jamesiarmes\PEWS\API\Type\ConnectingSIDType
30-
*/
31-
protected $connectingSID = null;
3233
}

0 commit comments

Comments
 (0)