新建
This commit is contained in:
197
vendor/txthinking/mailer/src/Mailer.php
vendored
Normal file
197
vendor/txthinking/mailer/src/Mailer.php
vendored
Normal file
@@ -0,0 +1,197 @@
|
||||
<?php
|
||||
/***************************************************\
|
||||
*
|
||||
* Mailer (https://github.com/txthinking/Mailer)
|
||||
*
|
||||
* A lightweight PHP SMTP mail sender.
|
||||
* Implement RFC0821, RFC0822, RFC1869, RFC2045, RFC2821
|
||||
*
|
||||
* Support html body, don't worry that the receiver's
|
||||
* mail client can't support html, because Mailer will
|
||||
* send both text/plain and text/html body, so if the
|
||||
* mail client can't support html, it will display the
|
||||
* text/plain body.
|
||||
*
|
||||
* Create Date 2012-07-25.
|
||||
* Under the MIT license.
|
||||
*
|
||||
\***************************************************/
|
||||
namespace Tx;
|
||||
|
||||
use Psr\Log\LoggerInterface;
|
||||
use \Tx\Mailer\Message;
|
||||
use \Tx\Mailer\SMTP;
|
||||
|
||||
/**
|
||||
* Class Mailer
|
||||
*
|
||||
* This class provides the Mailer public methods for backwards compatibility, but it is recommended
|
||||
* that you use the Tx\Mailer\SMTP and Tx\Mailer\Message classes going forward
|
||||
*
|
||||
* @package Tx
|
||||
*/
|
||||
class Mailer
|
||||
{
|
||||
/**
|
||||
* SMTP Class
|
||||
* @var SMTP
|
||||
*/
|
||||
protected $smtp;
|
||||
|
||||
/**
|
||||
* Mail Message
|
||||
* @var Message
|
||||
*/
|
||||
protected $message;
|
||||
|
||||
/**
|
||||
* construct function
|
||||
* @param LoggerInterface $logger
|
||||
*/
|
||||
public function __construct(LoggerInterface $logger=null)
|
||||
{
|
||||
$this->smtp = new SMTP($logger);
|
||||
$this->message = new Message();
|
||||
}
|
||||
|
||||
/**
|
||||
* set server and port
|
||||
* @param string $host server
|
||||
* @param int $port port
|
||||
* @param string $secure ssl tls tlsv1.0 tlsv1.1 tlsv1.2
|
||||
* @return $this
|
||||
*/
|
||||
public function setServer($host, $port, $secure=null)
|
||||
{
|
||||
$this->smtp->setServer($host, $port, $secure);
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* auth with server
|
||||
* @param string $username
|
||||
* @param string $password
|
||||
* @return $this
|
||||
*/
|
||||
public function setAuth($username, $password)
|
||||
{
|
||||
$this->smtp->setAuth($username, $password);
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* auth oauthbearer with server
|
||||
* @param string $accessToken
|
||||
* @return $this
|
||||
*/
|
||||
public function setOAuth($accessToken)
|
||||
{
|
||||
$this->smtp->setOAuth($accessToken);
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* set mail from
|
||||
* @param string $name
|
||||
* @param string $email
|
||||
* @return $this
|
||||
*/
|
||||
public function setFrom($name, $email)
|
||||
{
|
||||
$this->message->setFrom($name, $email);
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* set fake mail from
|
||||
* @param string $name
|
||||
* @param string $email
|
||||
* @return $this
|
||||
*/
|
||||
public function setFakeFrom($name, $email)
|
||||
{
|
||||
$this->message->setFakeFrom($name, $email);
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* add mail receiver
|
||||
* @param string $name
|
||||
* @param string $email
|
||||
* @return $this
|
||||
*/
|
||||
public function addTo($name, $email)
|
||||
{
|
||||
$this->message->addTo($name, $email);
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* add cc mail receiver
|
||||
* @param string $name
|
||||
* @param string $email
|
||||
* @return $this
|
||||
*/
|
||||
public function addCc($name, $email)
|
||||
{
|
||||
$this->message->addCc($name, $email);
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* add bcc mail receiver
|
||||
* @param string $name
|
||||
* @param string $email
|
||||
* @return $this
|
||||
*/
|
||||
public function addBcc($name, $email)
|
||||
{
|
||||
$this->message->addBcc($name, $email);
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* set mail subject
|
||||
* @param string $subject
|
||||
* @return $this
|
||||
*/
|
||||
public function setSubject($subject)
|
||||
{
|
||||
$this->message->setSubject($subject);
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* set mail body
|
||||
* @param string $body
|
||||
* @return $this
|
||||
*/
|
||||
public function setBody($body)
|
||||
{
|
||||
$this->message->setBody($body);
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* add mail attachment
|
||||
* @param $name
|
||||
* @param $path
|
||||
* @return $this
|
||||
*/
|
||||
public function addAttachment($name, $path)
|
||||
{
|
||||
$this->message->addAttachment($name, $path);
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Send the message...
|
||||
* @return boolean
|
||||
*/
|
||||
public function send()
|
||||
{
|
||||
return $this->smtp->send($this->message);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user