Skip to content
This repository has been archived by the owner on Jan 30, 2020. It is now read-only.

Commit

Permalink
Merge branch 'hotfix/5422' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
weierophinney committed Nov 6, 2013
190 parents 84144a9 + 57d925a + f581f22 + 10ab90e + 31569f7 + 9256cad + 155b787 + 6a14e0a + e84c12e + 94de9c5 + 4b83eb4 + 1483e66 + b428d8b + dc72787 + bca6f24 + 1cda83c + 835b631 + d3605c7 + 7a32de0 + 7a6cebf + 662a059 + 5e1c4bb + de6ba8b + 19c92ef + f5abdbd + a4b3fcc + e0d3e79 + eb7f4fc + f5f296f + c1bc89d + 2cfde08 + 5ed923d + 7bfa121 + 0b38f0b + 1914ec7 + 47650bd + b7f9c80 + d490dab + 0b235a6 + ea8420a + 806e429 + 14b8e16 + 2c9f881 + 1591173 + 3288109 + 6149722 + fb18be8 + 2f56d24 + 256686b + 3cc679d + da18011 + 93ac388 + 57ef4a3 + 2f2851a + 2ec1dbc + 9a48955 + b6b50b9 + a16c105 + a634561 + 779d017 + e998d74 + e0c0b66 + 677bd85 + bd0abb6 + 7e23a9b + 76e9a65 + 9666e65 + 0fb7a6e + b476244 + a566cb1 + 84a7972 + f6501d5 + 74b0454 + ea99bf1 + e2703e7 + 90db7ae + b2f5380 + d6ee2dd + 2dae9df + 15a2e1f + 00d7ef1 + 88e29ab + 04f5596 + d4b9187 + 83cb40e + e80536c + 8344c40 + 314ef07 + f8fe680 + 7d99158 + 5a453b7 + 16b512c + e13bb78 + f8c8e84 + 0e833f2 + 463bd0b + e23f919 + c0f3fe1 + 9af4d23 + fbdafd9 + 46c341e + 1fcdf03 + 9e5c38e + 41f8caa + f236745 + ab9047d + c7b4a3f + 5cbe79f + dc8268a + cbafbe9 + d2c6567 + 0cc6fdf + 09daef8 + df6fc46 + ba228cf + 67d18da + 48a0084 + c78da38 + 76f6205 + 02baf86 + 907dad9 + 56854a7 + 51b08b5 + 86f37cb + 5ecd1ed + a4cca36 + cfc46bf + a576736 + 0650b43 + 6fc76b3 + 2dcfeeb + 80461fa + db66f77 + 66790e4 + ceefa98 + fc0f947 + 6a060b9 + de10d09 + 9ac9f8e + dc02847 + ee05131 + fb9ea71 + cb2e3cf + 08f2b17 + efc498e + 71822ef + 818d7d9 + 5c72f46 + 2b5dcae + 32dbda5 + d550f51 + 3aa0ee9 + 4ea71ee + 730f592 + c6516da + 76770c7 + 167fdbf + 1510cfa + e52ef9a + c1754e3 + 30e7e8b + c208a5e + c258e8b + 95bc2ba + 62058ff + 5129baa + e212b9b + 760714d + 844e2ae + 69ad6c7 + d68e5a1 + 9fededc + 1fe76d7 + 9cfe1eb + de84a61 + ee1b45a + 8dd678f + fd733d8 + a0f84c8 + c1d4cb7 + eb5e6bf + d361dcc + 94d4789 + 722be83 + 7968947 + c71fe68 + dd11405 + 114c2f2 + 4256692 + a401ea7 commit 54dd5a2
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 0 deletions.
5 changes: 5 additions & 0 deletions src/Protocol/Smtp.php
Original file line number Diff line number Diff line change
Expand Up @@ -282,6 +282,11 @@ public function data($data)
$this->_send('DATA');
$this->_expect(354, 120); // Timeout set for 2 minutes as per RFC 2821 4.5.3.2

// Ensure newlines are CRLF (\r\n)
if (PHP_EOL === "\n") {
$data = str_replace("\n", "\r\n", str_replace("\r", '', $data));
}

foreach (explode(self::EOL, $data) as $line) {
if (strpos($line, '.') === 0) {
// Escape lines prefixed with a '.'
Expand Down
28 changes: 28 additions & 0 deletions test/Protocol/SmtpTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,34 @@ public function testSendMinimalMail()
$this->assertEquals($expectedMessage, $this->connection->getLog());
}

public function testSendEscapedEmail()
{
$headers = new Headers();
$headers->addHeaderLine('Date', 'Sun, 10 Jun 2012 20:07:24 +0200');
$message = new Message();
$message
->setHeaders($headers)
->setSender('ralph.schindler@zend.com', 'Ralph Schindler')
->setBody("This is a test\n.")
->addTo('zf-devteam@zend.com', 'ZF DevTeam')
;
$expectedMessage = "EHLO localhost\r\n"
. "MAIL FROM:<ralph.schindler@zend.com>\r\n"
. "DATA\r\n"
. "Date: Sun, 10 Jun 2012 20:07:24 +0200\r\n"
. "Sender: Ralph Schindler <ralph.schindler@zend.com>\r\n"
. "To: ZF DevTeam <zf-devteam@zend.com>\r\n"
. "\r\n"
. "This is a test\r\n"
. "..\r\n"
. ".\r\n";

$this->transport->send($message);

$this->assertEquals($expectedMessage, $this->connection->getLog());

}

public function testDisconnectCallsQuit()
{
$this->connection->disconnect();
Expand Down

0 comments on commit 54dd5a2

Please sign in to comment.