blob: 6a0f33d5baf1b1db9c0ea67d528c8ea32742ef14 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
<?php
class Swift_Bug34Test extends \PHPUnit_Framework_TestCase
{
public function setUp()
{
Swift_Preferences::getInstance()->setCharset('utf-8');
}
public function testEmbeddedFilesWithMultipartDataCreateMultipartRelatedContentAsAnAlternative()
{
$message = Swift_Message::newInstance();
$message->setCharset('utf-8');
$message->setSubject('test subject');
$message->addPart('plain part', 'text/plain');
$image = Swift_Image::newInstance('<image data>', 'image.gif', 'image/gif');
$cid = $message->embed($image);
$message->setBody('<img src="'.$cid.'" />', 'text/html');
$message->setTo(array('user@domain.tld' => 'User'));
$message->setFrom(array('other@domain.tld' => 'Other'));
$message->setSender(array('other@domain.tld' => 'Other'));
$id = $message->getId();
$date = preg_quote(date('r', $message->getDate()), '~');
$boundary = $message->getBoundary();
$cidVal = $image->getId();
$this->assertRegExp(
'~^'.
'Sender: Other <other@domain.tld>'."\r\n".
'Message-ID: <'.$id.'>'."\r\n".
'Date: '.$date."\r\n".
'Subject: test subject'."\r\n".
'From: Other <other@domain.tld>'."\r\n".
'To: User <user@domain.tld>'."\r\n".
'MIME-Version: 1.0'."\r\n".
'Content-Type: multipart/alternative;'."\r\n".
' boundary="'.$boundary.'"'."\r\n".
"\r\n\r\n".
'--'.$boundary."\r\n".
'Content-Type: text/plain; charset=utf-8'."\r\n".
'Content-Transfer-Encoding: quoted-printable'."\r\n".
"\r\n".
'plain part'.
"\r\n\r\n".
'--'.$boundary."\r\n".
'Content-Type: multipart/related;'."\r\n".
' boundary="(.*?)"'."\r\n".
"\r\n\r\n".
'--\\1'."\r\n".
'Content-Type: text/html; charset=utf-8'."\r\n".
'Content-Transfer-Encoding: quoted-printable'."\r\n".
"\r\n".
'<img.*?/>'.
"\r\n\r\n".
'--\\1'."\r\n".
'Content-Type: image/gif; name=image.gif'."\r\n".
'Content-Transfer-Encoding: base64'."\r\n".
'Content-Disposition: inline; filename=image.gif'."\r\n".
'Content-ID: <'.$cidVal.'>'."\r\n".
"\r\n".
preg_quote(base64_encode('<image data>'), '~').
"\r\n\r\n".
'--\\1--'."\r\n".
"\r\n\r\n".
'--'.$boundary.'--'."\r\n".
'$~D',
$message->toString()
);
}
}
|