ASchroder_SMTPPro - Version 1.4.3

Version Notes

1.4.3 - Added Amazon SES support, experimental only

1.4.2 - Updated Email_Template to work with Magento 1.5.

1.4.1 - Missed one place where a non-standard basedir will trip up the self test and add extra exception logging.

1.4.0 - several bug fixes and update to support Magento 1.4.2

1.3.3 - For the love of god Magento Connect - please let me upload this!

1.3.2 - For the love of god Magento Connect - please let me upload this!

1.3.1 - bug fix for the Observer.php include.

1.3 - add test of _actual email sending and add From: header on test email (fixes an issue for some SMTP servers)

1.1.1 - Bug fix release

1.1.0 - Added email logging and event firing

1.0.4 - No changes, just adding a new point release in the hope that magento connect will work...

1.0.3 - No changes, just adding a new point release in the hope that magento connect will work...

1.0.2 - Add support for multiple gmail or Google Apps accounts to address the 500 email limit Google imposes.

1.0.1 - Re release of the SMTP Pro extension as a combined SMTP + Google apps/Gmail extension.

Download this release

Release Info

Developer Magento Core Team
Extension ASchroder_SMTPPro
Version 1.4.3
Comparing to
See all releases


Code changes from version 1.4.2 to 1.4.3

app/code/community/Aschroder/SMTPPro/Helper/Data.php CHANGED
@@ -30,6 +30,9 @@ class Aschroder_SMTPPro_Helper_Data extends Mage_Core_Helper_Abstract {
30
  public function getGoogleApps() {
31
  return Mage::getStoreConfig('system/smtppro/option') == "google";
32
  }
 
 
 
33
 
34
  public function getSMTP() {
35
  return Mage::getStoreConfig('system/smtppro/option') == "smtp";
@@ -88,7 +91,7 @@ class Aschroder_SMTPPro_Helper_Data extends Mage_Core_Helper_Abstract {
88
 
89
  $transport = new Zend_Mail_Transport_Smtp($host, $config);
90
 
91
- } else {
92
 
93
  $email = explode(",", Mage::getStoreConfig('system/googlesettings/email', $id));
94
 
@@ -112,6 +115,22 @@ class Aschroder_SMTPPro_Helper_Data extends Mage_Core_Helper_Abstract {
112
  $config = array('ssl' => 'tls', 'port' => 587, 'auth' => 'login', 'username' => $email, 'password' => $password);
113
  $transport = new Zend_Mail_Transport_Smtp('smtp.gmail.com', $config);
114
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
115
  }
116
 
117
  Mage::log("Returning transport");
30
  public function getGoogleApps() {
31
  return Mage::getStoreConfig('system/smtppro/option') == "google";
32
  }
33
+ public function getSES() {
34
+ return Mage::getStoreConfig('system/smtppro/option') == "ses";
35
+ }
36
 
37
  public function getSMTP() {
38
  return Mage::getStoreConfig('system/smtppro/option') == "smtp";
91
 
92
  $transport = new Zend_Mail_Transport_Smtp($host, $config);
93
 
94
+ } else if($this->getGoogleApps()) {
95
 
96
  $email = explode(",", Mage::getStoreConfig('system/googlesettings/email', $id));
97
 
115
  $config = array('ssl' => 'tls', 'port' => 587, 'auth' => 'login', 'username' => $email, 'password' => $password);
116
  $transport = new Zend_Mail_Transport_Smtp('smtp.gmail.com', $config);
117
 
118
+ } else if($this->getSES()) {
119
+
120
+ // Big thanks to Christopher Valles
121
+ // https://github.com/christophervalles/Amazon-SES-Zend-Mail-Transport
122
+ include_once Mage::getBaseDir() . '/app/code/community/Aschroder/SMTPPro/lib/AmazonSES.php';
123
+
124
+ $transport = new App_Mail_Transport_AmazonSES(
125
+ array(
126
+ 'accessKey' => Mage::getStoreConfig('system/sessettings/aws_access_key', $id),
127
+ 'privateKey' => Mage::getStoreConfig('system/sessettings/aws_private_key', $id)
128
+ )
129
+ );
130
+
131
+ } else {
132
+ Mage::log("Disabled, or no matching transport");
133
+ return null;
134
  }
135
 
136
  Mage::log("Returning transport");
app/code/community/Aschroder/SMTPPro/Model/Observer.php CHANGED
@@ -23,6 +23,7 @@ class Aschroder_SMTPPro_Model_Observer {
23
  }
24
 
25
  // For the self test, if we're sending the contact form notify the self test class
 
26
  if($event->getTemplate() == "contacts_email_email_template") {
27
  include_once Mage::getBaseDir() . "/app/code/community/Aschroder/SMTPPro/controllers/IndexController.php";
28
  Aschroder_SMTPPro_IndexController::$CONTACTFORM_SENT = true;
23
  }
24
 
25
  // For the self test, if we're sending the contact form notify the self test class
26
+ Mage::log("template=" . $event->getTemplate());
27
  if($event->getTemplate() == "contacts_email_email_template") {
28
  include_once Mage::getBaseDir() . "/app/code/community/Aschroder/SMTPPro/controllers/IndexController.php";
29
  Aschroder_SMTPPro_IndexController::$CONTACTFORM_SENT = true;
app/code/community/Aschroder/SMTPPro/Model/System/Config/Source/Smtp/Option.php CHANGED
@@ -13,7 +13,8 @@ class Aschroder_SMTPPro_Model_System_Config_Source_Smtp_Option
13
  return array(
14
  "disabled" => Mage::helper('adminhtml')->__('Disabled'),
15
  "google" => Mage::helper('adminhtml')->__('Google Apps/Gmail'),
16
- "smtp" => Mage::helper('adminhtml')->__('SMTP')
 
17
  );
18
  }
19
  }
13
  return array(
14
  "disabled" => Mage::helper('adminhtml')->__('Disabled'),
15
  "google" => Mage::helper('adminhtml')->__('Google Apps/Gmail'),
16
+ "smtp" => Mage::helper('adminhtml')->__('SMTP'),
17
+ "ses" => Mage::helper('adminhtml')->__('SES (experimental)')
18
  );
19
  }
20
  }
app/code/community/Aschroder/SMTPPro/controllers/IndexController.php CHANGED
@@ -33,35 +33,46 @@ class Aschroder_SMTPPro_IndexController
33
 
34
 
35
  $googleapps = Mage::helper('smtppro')->getGoogleApps();
 
 
36
 
37
  if($googleapps) {
38
  $msg = $msg . "<br/>Using Google Apps/Gmail configuration options";
39
  $host = "smtp.gmail.com";
40
  $port = 587;
41
- } else {
42
  $msg = $msg . "<br/>Using SMTP configuration options";
43
  $host = Mage::getStoreConfig('system/smtpsettings/host', $websiteModel->getId());
44
  $port = Mage::getStoreConfig('system/smtpsettings/port', $websiteModel->getId());
 
 
 
 
 
 
 
45
  }
46
 
47
 
48
- $fp = false;
49
-
50
- try {
51
- $fp = fsockopen($host, $port, $errno, $errstr, 15);
52
- } catch ( Exception $e) {
53
- // An error will be reported below.
54
- }
55
-
56
- Mage::log("Complete");
57
-
58
- if (!$fp) {
59
- $success = false;
60
- $msg = $msg . "<br/>Failed to connect to SMTP server. Reason: " . $errstr . "(" . $errno . ")";
61
- $msg = $msg . "<br/> This extension requires an outbound SMTP connection on port: " . $port;
62
- } else {
63
- $msg = $msg . "<br/> Connection to Host SMTP server successful.";
64
- fclose($fp);
 
 
65
  }
66
 
67
  $to = Mage::getStoreConfig('contacts/email/recipient_email', $websiteModel->getId());
@@ -115,8 +126,10 @@ class Aschroder_SMTPPro_IndexController
115
  }
116
 
117
  // Now we test that the actual core overrides are occuring as expected.
118
- // We trigger the password forgot email, as though a user had done so.
119
 
 
 
120
  self::$CONTACTFORM_SENT = false;
121
  $this->_sendTestContactFormEmail();
122
 
33
 
34
 
35
  $googleapps = Mage::helper('smtppro')->getGoogleApps();
36
+ $smtpEnabled = Mage::helper('smtppro')->getSMTP();
37
+ $sesEnabled = Mage::helper('smtppro')->getSES();
38
 
39
  if($googleapps) {
40
  $msg = $msg . "<br/>Using Google Apps/Gmail configuration options";
41
  $host = "smtp.gmail.com";
42
  $port = 587;
43
+ } else if ($smtpEnabled) {
44
  $msg = $msg . "<br/>Using SMTP configuration options";
45
  $host = Mage::getStoreConfig('system/smtpsettings/host', $websiteModel->getId());
46
  $port = Mage::getStoreConfig('system/smtpsettings/port', $websiteModel->getId());
47
+ } else if ($sesEnabled) {
48
+ // no connectivity test - either disabled or SES...
49
+ $msg = $msg . "<br/> Connection to Amazon SES server not tested (...yet)";
50
+ Mage::log("skipped, SES.");
51
+ } else {
52
+ $msg = $msg . "<br/> extension disabled, cannot test outbound connectivity";
53
+ Mage::log("skipped, disabled.");
54
  }
55
 
56
 
57
+ if ($googleapps || $smtpEnabled) {
58
+ $fp = false;
59
+
60
+ try {
61
+ $fp = fsockopen($host, $port, $errno, $errstr, 15);
62
+ } catch ( Exception $e) {
63
+ // An error will be reported below.
64
+ }
65
+
66
+ Mage::log("Complete");
67
+
68
+ if (!$fp) {
69
+ $success = false;
70
+ $msg = $msg . "<br/>Failed to connect to SMTP server. Reason: " . $errstr . "(" . $errno . ")";
71
+ $msg = $msg . "<br/> This extension requires an outbound SMTP connection on port: " . $port;
72
+ } else {
73
+ $msg = $msg . "<br/> Connection to Host SMTP server successful.";
74
+ fclose($fp);
75
+ }
76
  }
77
 
78
  $to = Mage::getStoreConfig('contacts/email/recipient_email', $websiteModel->getId());
126
  }
127
 
128
  // Now we test that the actual core overrides are occuring as expected.
129
+ // We trigger the contact form email, as though a user had done so.
130
 
131
+ Mage::log("Actual contact form submit test...");
132
+
133
  self::$CONTACTFORM_SENT = false;
134
  $this->_sendTestContactFormEmail();
135
 
app/code/community/Aschroder/SMTPPro/etc/config.xml CHANGED
@@ -10,7 +10,7 @@
10
  <config>
11
  <modules>
12
  <Aschroder_SMTPPro>
13
- <version>1.4.2</version>
14
  </Aschroder_SMTPPro>
15
  </modules>
16
  <frontend>
10
  <config>
11
  <modules>
12
  <Aschroder_SMTPPro>
13
+ <version>1.4.3</version>
14
  </Aschroder_SMTPPro>
15
  </modules>
16
  <frontend>
app/code/community/Aschroder/SMTPPro/etc/system.xml CHANGED
@@ -14,7 +14,7 @@
14
  <fields>
15
  <option translate="label comment">
16
  <label>Choose extension option</label>
17
- <comment>This will determine if the extension uses the simple Google Apps/Gmail configuration, The advanced SMTP configuration or disables the extension completely.</comment>
18
  <frontend_type>select</frontend_type>
19
  <source_model>smtppro/system_config_source_smtp_option</source_model>
20
  <sort_order>1</sort_order>
@@ -156,6 +156,33 @@
156
  </ssl>
157
  </fields>
158
  </smtpsettings>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
159
  </groups>
160
  </system>
161
  </sections>
14
  <fields>
15
  <option translate="label comment">
16
  <label>Choose extension option</label>
17
+ <comment>This will determine which configuration is used; Gmail/Google Apps, SMTP or the new experimental Amazon SES.</comment>
18
  <frontend_type>select</frontend_type>
19
  <source_model>smtppro/system_config_source_smtp_option</source_model>
20
  <sort_order>1</sort_order>
156
  </ssl>
157
  </fields>
158
  </smtpsettings>
159
+ <sessettings translate="label" module="smtppro">
160
+ <label>SMTP Pro Email Amazon SES Settings (experimental)</label>
161
+ <frontend_type>text</frontend_type>
162
+ <sort_order>998</sort_order>
163
+ <show_in_default>1</show_in_default>
164
+ <show_in_website>1</show_in_website>
165
+ <show_in_store>0</show_in_store>
166
+ <comment>These settings are for experimental use of the Amazon AWS SES service. This should not be used on a production server yet, but please do try it out and let me know how you get on.</comment>
167
+ <fields>
168
+ <aws_access_key translate="label">
169
+ <label>Access Key</label>
170
+ <frontend_type>text</frontend_type>
171
+ <sort_order>5</sort_order>
172
+ <show_in_default>1</show_in_default>
173
+ <show_in_website>1</show_in_website>
174
+ <show_in_store>0</show_in_store>
175
+ </aws_access_key>
176
+ <aws_private_key translate="label">
177
+ <label>Secret Key</label>
178
+ <frontend_type>password</frontend_type>
179
+ <sort_order>10</sort_order>
180
+ <show_in_default>1</show_in_default>
181
+ <show_in_website>1</show_in_website>
182
+ <show_in_store>0</show_in_store>
183
+ </aws_private_key>
184
+ </fields>
185
+ </sessettings>
186
  </groups>
187
  </system>
188
  </sections>
app/code/community/Aschroder/SMTPPro/lib/AmazonSES.php ADDED
@@ -0,0 +1,149 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Amazon Simple Email Service (SES) connection object
5
+ *
6
+ * Integration between Zend Framework and Amazon Simple Email Service
7
+ *
8
+ * @category Zend
9
+ * @package Zend_Mail
10
+ * @subpackage Transport
11
+ * @author Christopher Valles <info@christophervalles.com>
12
+ * @license http://framework.zend.com/license/new-bsd New BSD License
13
+ */
14
+ class App_Mail_Transport_AmazonSES extends Zend_Mail_Transport_Abstract
15
+ {
16
+ /**
17
+ * Template of the webservice body request
18
+ *
19
+ * @var string
20
+ */
21
+ protected $_bodyRequestTemplate = 'Action=SendRawEmail&Source=%s&%s&RawMessage.Data=%s';
22
+
23
+
24
+ /**
25
+ * Remote smtp hostname or i.p.
26
+ *
27
+ * @var string
28
+ */
29
+ protected $_host;
30
+
31
+
32
+ /**
33
+ * Amazon Access Key
34
+ *
35
+ * @var string|null
36
+ */
37
+ protected $_accessKey;
38
+
39
+
40
+ /**
41
+ * Amazon private key
42
+ *
43
+ * @var string|null
44
+ */
45
+ protected $_privateKey;
46
+
47
+
48
+ /**
49
+ * Constructor.
50
+ *
51
+ * @param string $endpoint (Default: https://email.us-east-1.amazonaws.com)
52
+ * @param array|null $config (Default: null)
53
+ * @return void
54
+ * @throws Zend_Mail_Transport_Exception if accessKey is not present in the config
55
+ * @throws Zend_Mail_Transport_Exception if privateKey is not present in the config
56
+ */
57
+ public function __construct(Array $config = array(), $host = 'https://email.us-east-1.amazonaws.com')
58
+ {
59
+ if(!array_key_exists('accessKey', $config)){
60
+ throw new Zend_Mail_Transport_Exception('This transport requires the Amazon access key');
61
+ }
62
+
63
+ if(!array_key_exists('privateKey', $config)){
64
+ throw new Zend_Mail_Transport_Exception('This transport requires the Amazon private key');
65
+ }
66
+
67
+ $this->_accessKey = $config['accessKey'];
68
+ $this->_privateKey = $config['privateKey'];
69
+ $this->_host = Zend_Uri::factory($host);
70
+ }
71
+
72
+
73
+ /**
74
+ * Send an email using the amazon webservice api
75
+ *
76
+ * @return void
77
+ */
78
+ public function _sendMail()
79
+ {
80
+ $date = gmdate('D, d M Y H:i:s O');
81
+
82
+ //Send the request
83
+ $client = new Zend_Http_Client($this->_host);
84
+ $client->setMethod(Zend_Http_Client::POST);
85
+ $client->setHeaders(array(
86
+ 'Date' => $date,
87
+ 'X-Amzn-Authorization' => $this->_buildAuthKey($date)
88
+ ));
89
+ $client->setEncType('application/x-www-form-urlencoded');
90
+
91
+ //Build the parameters
92
+ $params = array(
93
+ 'Action' => 'SendRawEmail',
94
+ 'Source' => $this->_mail->getFrom(),
95
+ 'RawMessage.Data' => base64_encode(sprintf("%s\n%s\n", $this->header, $this->body))
96
+ );
97
+
98
+ $recipients = explode(',', $this->recipients);
99
+ while(list($index, $recipient) = each($recipients)){
100
+ $params[sprintf('Destination.ToAddresses.member.%d', $index + 1)] = $recipient;
101
+ }
102
+
103
+ $client->resetParameters();
104
+ $client->setParameterPost($params);
105
+ $response = $client->request(Zend_Http_Client::POST);
106
+
107
+ if($response->getStatus() != 200){
108
+ throw new Exception($response->getBody());
109
+ }
110
+ }
111
+
112
+
113
+ /**
114
+ * Format and fix headers
115
+ *
116
+ * Some SMTP servers do not strip BCC headers. Most clients do it themselves as do we.
117
+ *
118
+ * @access protected
119
+ * @param array $headers
120
+ * @return void
121
+ * @throws Zend_Transport_Exception
122
+ */
123
+ protected function _prepareHeaders($headers)
124
+ {
125
+ if (!$this->_mail) {
126
+ /**
127
+ * @see Zend_Mail_Transport_Exception
128
+ */
129
+ require_once 'Zend/Mail/Transport/Exception.php';
130
+ throw new Zend_Mail_Transport_Exception('_prepareHeaders requires a registered Zend_Mail object');
131
+ }
132
+
133
+ unset($headers['Bcc']);
134
+
135
+ // Prepare headers
136
+ parent::_prepareHeaders($headers);
137
+ }
138
+
139
+
140
+ /**
141
+ * Returns header string containing encoded authentication key
142
+ *
143
+ * @param date $date
144
+ * @return string
145
+ */
146
+ private function _buildAuthKey($date){
147
+ return sprintf('AWS3-HTTPS AWSAccessKeyId=%s,Algorithm=HmacSHA256,Signature=%s', $this->_accessKey, base64_encode(hash_hmac('sha256', $date, $this->_privateKey, TRUE)));
148
+ }
149
+ }
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>ASchroder_SMTPPro</name>
4
- <version>1.4.2</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
7
  <channel>community</channel>
@@ -14,7 +14,9 @@ For SMTP it handles everything from SMTP server authentication with MD5-CRAM to
14
  For Google Apps and Gmail it offers the same stupidly simple setup as always.&#xD;
15
  &#xD;
16
  The extension itself now supports several new features, such as suppressing emails and sending development mode emails to a single inbox, sending from multiple different gmail/google accounts and now email logging.</description>
17
- <notes>1.4.2 - Updated Email_Template to work with Magento 1.5.&#xD;
 
 
18
  &#xD;
19
  1.4.1 - Missed one place where a non-standard basedir will trip up the self test and add extra exception logging.&#xD;
20
  &#xD;
@@ -40,9 +42,9 @@ The extension itself now supports several new features, such as suppressing emai
40
  &#xD;
41
  1.0.1 - Re release of the SMTP Pro extension as a combined SMTP + Google apps/Gmail extension.</notes>
42
  <authors><author><name>Ashley Schroder</name><user>auto-converted</user><email>ashley.schroder@gmail.com</email></author></authors>
43
- <date>2011-03-07</date>
44
- <time>10:04:08</time>
45
- <contents><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="smtppro"><file name="view.phtml" hash="fd22a77c5754913bac050923bff57d95"/></dir></dir></dir></dir></dir></target><target name="magecommunity"><dir name="Aschroder"><dir name="SMTPPro"><dir name="Block"><dir name="Adminhtml"><file name="Test.php" hash="0d0ff50fe926cd5704426d5a7b255176"/></dir><dir name="Log"><file name="Grid.php" hash="2f04731eeeb9d821857fccda014a6d84"/><file name="View.php" hash="396702d55673f05961cf646525212534"/></dir><file name="Log.php" hash="d2a7233ec0fd3f20d048f3dd412f61a3"/></dir><dir name="Helper"><file name="Data.php" hash="717467fd680787069d59353c02170484"/></dir><dir name="Model"><dir name="Email"><file name="Log.php" hash="c05dcbe851684410e0cbcfed6cc914cd"/><file name="Template.php" hash="a234cf2f9fa7d4b9a0e83c52e46e3d0f"/></dir><dir name="Mysql4"><dir name="Email"><dir name="Log"><file name="Collection.php" hash="8ca40c787081eb19f665e8033bfd5025"/></dir><file name="Log.php" hash="c8331530a6744b42c52beaf0e714fddd"/></dir><file name="Setup.php" hash="a1f73ffd26ddd42a9789b071a40b2450"/></dir><dir name="Newsletter"><file name="Template.php" hash="b38356df77253bd116ee5b6f6c59b223"/></dir><dir name="System"><dir name="Config"><dir name="Source"><dir name="Smtp"><file name="Authentication.php" hash="2e871d8a7a4beaff99c818a51fb38344"/><file name="Development.php" hash="2f9b6177e6063c2d42483c9af65995d3"/><file name="Option.php" hash="3d2dbeff23aef76c4ae7fd06235ea12d"/><file name="Ssl.php" hash="ae9af390a40b8bcebbc8451a9152821f"/></dir></dir></dir></dir><file name="Email.php" hash="043689ad6ac3bfa6c96739596126fd20"/><file name="Observer.php" hash="df798935584fa7d5d44f27ad23516c66"/></dir><dir name="controllers"><file name="IndexController.php" hash="7672d04697d1cf1a038a9675bcb25fe4"/><file name="LogController.php" hash="b6819bb30738db7416ca241303e5b1fd"/></dir><dir name="etc"><file name="config.xml" hash="6ff36b15f69e49d64172149833c3aa7a"/><file name="system.xml" hash="5a083240368072f16e52e8e6694322e1"/></dir><dir name="locale"><dir name="de_DE"><file name="Aschroder_SMTPPro.csv" hash="5b2e576a73cc62cfaf3ffc61d5149bb8"/></dir></dir><dir name="modules"><file name="Aschroder_SMTPPro.xml" hash="8a4e6872dd721b6bd17bce8b1cb11769"/></dir><dir name="sql"><dir name="smtppro_setup"><file name="mysql4-install-1.1.0.php" hash="5c13c266d15ce411658ae616c3e41e63"/></dir></dir><dir name="templates"><dir name="adminhtml"><dir name="base"><dir name="default"><dir name="template"><dir name="smtppro"><file name="view.phtml" hash="fd22a77c5754913bac050923bff57d95"/></dir></dir></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Aschroder_SMTPPro.xml" hash="8a4e6872dd721b6bd17bce8b1cb11769"/></dir></target><target name="magelocale"><dir name="de_DE"><file name="Aschroder_SMTPPro.csv" hash="5b2e576a73cc62cfaf3ffc61d5149bb8"/></dir></target></contents>
46
  <compatible/>
47
  <dependencies/>
48
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>ASchroder_SMTPPro</name>
4
+ <version>1.4.3</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
7
  <channel>community</channel>
14
  For Google Apps and Gmail it offers the same stupidly simple setup as always.&#xD;
15
  &#xD;
16
  The extension itself now supports several new features, such as suppressing emails and sending development mode emails to a single inbox, sending from multiple different gmail/google accounts and now email logging.</description>
17
+ <notes>1.4.3 - Added Amazon SES support, experimental only&#xD;
18
+ &#xD;
19
+ 1.4.2 - Updated Email_Template to work with Magento 1.5.&#xD;
20
  &#xD;
21
  1.4.1 - Missed one place where a non-standard basedir will trip up the self test and add extra exception logging.&#xD;
22
  &#xD;
42
  &#xD;
43
  1.0.1 - Re release of the SMTP Pro extension as a combined SMTP + Google apps/Gmail extension.</notes>
44
  <authors><author><name>Ashley Schroder</name><user>auto-converted</user><email>ashley.schroder@gmail.com</email></author></authors>
45
+ <date>2011-03-20</date>
46
+ <time>04:24:33</time>
47
+ <contents><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="smtppro"><file name="view.phtml" hash="fd22a77c5754913bac050923bff57d95"/></dir></dir></dir></dir></dir></target><target name="magecommunity"><dir name="Aschroder"><dir name="SMTPPro"><dir name="Block"><dir name="Adminhtml"><file name="Test.php" hash="0d0ff50fe926cd5704426d5a7b255176"/></dir><dir name="Log"><file name="Grid.php" hash="2f04731eeeb9d821857fccda014a6d84"/><file name="View.php" hash="396702d55673f05961cf646525212534"/></dir><file name="Log.php" hash="d2a7233ec0fd3f20d048f3dd412f61a3"/></dir><dir name="Helper"><file name="Data.php" hash="e4ebefdc54df5e440caafa6365534624"/></dir><dir name="Model"><dir name="Email"><file name="Log.php" hash="c05dcbe851684410e0cbcfed6cc914cd"/><file name="Template.php" hash="a234cf2f9fa7d4b9a0e83c52e46e3d0f"/></dir><dir name="Mysql4"><dir name="Email"><dir name="Log"><file name="Collection.php" hash="8ca40c787081eb19f665e8033bfd5025"/></dir><file name="Log.php" hash="c8331530a6744b42c52beaf0e714fddd"/></dir><file name="Setup.php" hash="a1f73ffd26ddd42a9789b071a40b2450"/></dir><dir name="Newsletter"><file name="Template.php" hash="b38356df77253bd116ee5b6f6c59b223"/></dir><dir name="System"><dir name="Config"><dir name="Source"><dir name="Smtp"><file name="Authentication.php" hash="2e871d8a7a4beaff99c818a51fb38344"/><file name="Development.php" hash="2f9b6177e6063c2d42483c9af65995d3"/><file name="Option.php" hash="a4335eb0c2bc92c6a3356dd62fc568ff"/><file name="Ssl.php" hash="ae9af390a40b8bcebbc8451a9152821f"/></dir></dir></dir></dir><file name="Email.php" hash="043689ad6ac3bfa6c96739596126fd20"/><file name="Observer.php" hash="a9df4366354e355bfdb1476720610331"/></dir><dir name="controllers"><file name="IndexController.php" hash="63dcb8c38abd84e4996abb49e6b5d543"/><file name="LogController.php" hash="b6819bb30738db7416ca241303e5b1fd"/></dir><dir name="etc"><file name="config.xml" hash="512a199b1e4092c9051582afa648cce2"/><file name="system.xml" hash="9f4b9a8f2e59de0b3fd6b28c9a49b1d7"/></dir><dir name="lib"><file name="AmazonSES.php" hash="64e65ec97f0f2e3e72d132ed612fb858"/></dir><dir name="locale"><dir name="de_DE"><file name="Aschroder_SMTPPro.csv" hash="5b2e576a73cc62cfaf3ffc61d5149bb8"/></dir></dir><dir name="modules"><file name="Aschroder_SMTPPro.xml" hash="8a4e6872dd721b6bd17bce8b1cb11769"/></dir><dir name="sql"><dir name="smtppro_setup"><file name="mysql4-install-1.1.0.php" hash="5c13c266d15ce411658ae616c3e41e63"/></dir></dir><dir name="templates"><dir name="adminhtml"><dir name="base"><dir name="default"><dir name="template"><dir name="smtppro"><file name="view.phtml" hash="fd22a77c5754913bac050923bff57d95"/></dir></dir></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Aschroder_SMTPPro.xml" hash="8a4e6872dd721b6bd17bce8b1cb11769"/></dir></target><target name="magelocale"><dir name="de_DE"><file name="Aschroder_SMTPPro.csv" hash="5b2e576a73cc62cfaf3ffc61d5149bb8"/></dir></target></contents>
48
  <compatible/>
49
  <dependencies/>
50
  </package>