eoghanobrien/php-simple-mail

提供了一个简单的、可链式封装器,用于通过PHP的mail()函数创建和发送电子邮件。

1.7.1 2018-03-16 19:29 UTC

This package is auto-updated.

Last update: 2024-09-06 04:19:12 UTC


README

Build Status Latest Stable Version Scrutinizer Quality Score Code Coverage Total Downloads License PHP 7 ready

简介

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文件。