eoghanobrien / php-simple-mail
提供了一个简单的、可链式封装器,用于通过PHP的mail()函数创建和发送电子邮件。
Requires
- php: >=5.2.0
Requires (Dev)
- phpunit/phpunit: ~4.8
- squizlabs/php_codesniffer: ~2.8
README
简介
Simple Mail Class提供了一个简单的、可链式封装器,用于通过PHP的mail()
函数创建和发送电子邮件。虽然发送SMTP电子邮件有更好的选择,这些选择比mail()
函数更安全和可靠,但有时你只需要发送一封简单的电子邮件。这正是我们解决的问题。
通过Composer安装
$ composer require eoghanobrien/php-simple-mail
用法
实例化类。
你有两种选择,你可以按照传统方式“实例化”类
$mailer = new SimpleMail();
或者使用命名的静态构造函数make()
$mailer = SimpleMail::make();
静态构造函数在实例化后想要继续链式调用方法时很有用。
SimpleMail::make() ->setTo($email, $name) ->setFrom($fromEmail, $fromName) ->setSubject($subject) ->setMessage($message) ->send();
To
标题
可以多次调用To
标题,为了传递多个To
地址,只需多次调用setTo
方法。它接受两个字符串参数。第一个参数是电子邮件地址,第二个参数是姓名。
SimpleMail::make() ->setTo($email1, $name1) ->setTo($email2, $name2);
From
标题
你可以使用setBcc
方法碳拷贝一个或多个地址。它接受两个字符串参数。第一个参数是电子邮件地址,第二个参数是姓名。
SimpleMail::make() ->setFrom('john.smith@example.com', 'John Smith');
Cc
标题
你可以使用setCc
方法碳拷贝一个或多个地址。它接受一个$name => $email
对的数组。或者,你可以传递一个简单的数值索引数组,值假定为电子邮件。
SimpleMail::make() ->setCc(['John Smith', 'john.smith@example.com');
Bcc
标题
你可以使用setBcc
方法盲碳拷贝一个或多个地址。它接受一个$name => $email
对的数组。或者,你可以传递一个简单的数值索引数组,值假定为电子邮件。
SimpleMail::make() ->setBcc(['John Smith', 'john.smith@example.com');
Subject
标题
你可以使用setSubject
方法设置主题。它只接受一个字符串参数。
SimpleMail::make() ->setSubject("Important information about your account");
Message
标题
你可以使用setMessage
方法设置消息。它只接受一个字符串参数。
SimpleMail::make() ->setMessage("My important message!");
HTML
电子邮件
如果你想在电子邮件中包含HTML。只需调用setHtml()
方法。它不接受任何参数。
SimpleMail::make() ->setMessage("<strong>My important message!</strong>") ->setHtml();
send
电子邮件
一旦设置了所有标题。使用send()
方法最终发送电子邮件。
SimpleMail::make() ->setMessage("<strong>My important message!</strong>") ->send();
发送电子邮件的完整示例
$send = SimpleMail::make() ->setTo($email, $name) ->setFrom($fromEmail, $fromName) ->setSubject($subject) ->setMessage($message) ->setReplyTo($replyEmail, $replyName) ->setCc(['Bill Gates' => 'bill@example.com']) ->setBcc(['Steve Jobs' => 'steve@example.com']) ->setHtml() ->setWrap(100) ->send(); echo ($send) ? 'Email sent successfully' : 'Could not send email';
发送带附件的电子邮件示例
如果你正在发送附件,无需添加任何addGenericHeader()。为了正确发送附件,将为你设置必要的标题。你也可以链式添加任意数量的附件(请参见示例)。
$send = SimpleMail::make() ->setTo($email, $name) ->setFrom($fromEmail, $fromName) ->setSubject($subject) ->setMessage($message) ->setReplyTo($replyEmail, $replyName) ->setCc(['Bill Gates' => 'bill@example.com']) ->setBcc(['Steve Jobs' => 'steve@example.com']) ->setHtml() ->setWrap(100) ->addAttachment('example/pbXBsZSwgY2hh.jpg', 'lolcat_finally_arrived.jpg') ->addAttachment('example/lolcat_what.jpg') ->send(); echo ($send) ? 'Email sent successfully' : 'Could not send email';
许可证
php-simple-mail是免费且不受限制的公有领域软件。有关更多信息,请参阅https://open-source.org.cn/licenses/MIT或附带的MIT文件。