xref: /plugin/smtp/subtree/txtthinking/Mailer/tests/MailerTest.php (revision 269d5ff46c37c7e45f82c18bc0cc45d491b48a4a)
1*269d5ff4SAndreas Gohr<?php
2*269d5ff4SAndreas Gohr
3*269d5ff4SAndreas Gohruse \Tx\Mailer;
4*269d5ff4SAndreas Gohruse \Tx\Mailer\SMTP;
5*269d5ff4SAndreas Gohruse \Tx\Mailer\Message;
6*269d5ff4SAndreas Gohruse \Tx\Mailer\Exceptions\SMTPException;
7*269d5ff4SAndreas Gohruse \Monolog\Logger;
8*269d5ff4SAndreas Gohr
9*269d5ff4SAndreas Gohrclass MailerTest extends TestCase {
10*269d5ff4SAndreas Gohr
11*269d5ff4SAndreas Gohr    protected $smtp;
12*269d5ff4SAndreas Gohr    protected $message;
13*269d5ff4SAndreas Gohr
14*269d5ff4SAndreas Gohr    public function setup(){
15*269d5ff4SAndreas Gohr        $this->smtp = new SMTP(new Logger('SMTP'));
16*269d5ff4SAndreas Gohr        $this->message = new Message();
17*269d5ff4SAndreas Gohr    }
18*269d5ff4SAndreas Gohr
19*269d5ff4SAndreas Gohr    public function testSMTP(){
20*269d5ff4SAndreas Gohr        $this->smtp
21*269d5ff4SAndreas Gohr            ->setServer('smtp.ym.163.com', 25)
22*269d5ff4SAndreas Gohr            ->setAuth('bot@ym.txthinking.com', ''); // email, password
23*269d5ff4SAndreas Gohr
24*269d5ff4SAndreas Gohr        $this->message
25*269d5ff4SAndreas Gohr            ->setFrom('Tom', 'bot@ym.txthinking.com') // your name, your email
26*269d5ff4SAndreas Gohr            ->setFakeFrom('heelo', 'bot@hello.com') // a fake name, a fake email
27*269d5ff4SAndreas Gohr            ->addTo('Cloud', 'cloud@txthinking.com')
28*269d5ff4SAndreas Gohr            ->setSubject('Test SMTP ' . time())
29*269d5ff4SAndreas Gohr            ->setBody('<h1>for test</h1>')
30*269d5ff4SAndreas Gohr            ->addAttachment('host', '/etc/hosts');
31*269d5ff4SAndreas Gohr
32*269d5ff4SAndreas Gohr        $status = $this->smtp->send($this->message);
33*269d5ff4SAndreas Gohr        $this->assertTrue($status);
34*269d5ff4SAndreas Gohr    }
35*269d5ff4SAndreas Gohr
36*269d5ff4SAndreas Gohr    public function testSend(){
37*269d5ff4SAndreas Gohr        $status = (new Mailer(new Logger('Mailer')))
38*269d5ff4SAndreas Gohr            ->setServer('smtp.ym.163.com', 25)
39*269d5ff4SAndreas Gohr            ->setAuth('bot@ym.txthinking.com', '') // email, password
40*269d5ff4SAndreas Gohr            ->setFrom('Tom', 'bot@ym.txthinking.com') // your name, your email
41*269d5ff4SAndreas Gohr            ->setFakeFrom('张全蛋', 'zhangquandan@hello.com') // a fake name, a fake email
42*269d5ff4SAndreas Gohr            ->addTo('Cloud', 'cloud@txthinking.com')
43*269d5ff4SAndreas Gohr            ->setSubject('hello '. time())
44*269d5ff4SAndreas Gohr            ->setBody('Hi, boy')
45*269d5ff4SAndreas Gohr            ->addAttachment('host', '/etc/hosts')
46*269d5ff4SAndreas Gohr            ->send();
47*269d5ff4SAndreas Gohr        $this->assertTrue($status);
48*269d5ff4SAndreas Gohr    }
49*269d5ff4SAndreas Gohr
50*269d5ff4SAndreas Gohr}
51*269d5ff4SAndreas Gohr
52