联花/email

此软件包已被废弃且不再维护。未建议替代软件包。

一个简单的PHP邮件类

1.0.3 2020-03-22 11:31 UTC

This package is auto-updated.

Last update: 2023-05-29 01:50:40 UTC


README

Build Status BCH compliance

概述

这是一个简单的PHP邮件类。请注意,这个库不发送邮件,您需要通过扩展类添加发送函数。

兼容性

此库已在 PHP 7.3 及更高版本 上进行了测试。

安装

只需在项目中使用composer即可。

composer require lianhua/email

如果您不使用composer,请克隆或下载此存储库,您需要的所有内容都在 src 目录中。

使用

创建邮件

您可以通过构造函数创建一个邮件。

$email = new \Lianhua\Email\Email();

设置消息

您可以使用方法设置TXT或HTML消息。您还可以为残疾人设置特殊消息,也可以设置主题。

// Set messages
$email->setMessage("Welcome!");
$email->setAlternateContent("Welcome, screen reader user");
$email->setSubject("Welcome message");

// Get messages
$email->getMessage(); // "Welcome!"
$email->getAlternateContent(); // "Welcome, screen reader user"
$email->getSubject(); // "Welcome message"

地址

您可以通过提供电子邮件地址对象,使用Email方法设置地址。

您只能有一个“发件人”和“回复”地址,以及任意数量的“收件人”、“抄送”和“密送”。在添加之前,会检查地址格式。

$address = new \Lianhua\Email\EmailAddress("address@example.com", "Recipient Name");

// Set addresses
$email->setFrom($address);
$email->setReply($address);
$email->addTo($address);
$email->addCc($address);
$email->addBcc($address);

// Get addresses
$email->getFrom(); // $address
$email->getReply(); // $address
$email->getTo(); // [$address]
$email->getCc(); // [$address]
$email->getBcc(); // [$address]

您可以使用clear*函数删除“收件人”、“抄送”和“密送”的所有地址

$email->clearTo();
$email->clearCc();
$email->clearBcc();

附件

您可以使用Email方法添加和删除附件。在添加之前会检查文件是否存在。

// Add attachments
$email->addAttachment("/tmp/A.pdf");
$email->addAttachment("/tmp/B.pdf");

// Get attachments
$email->getAttachments(); // ["/tmp/A.pdf", "/tmp/B.pdf"]

// Delete attachments
$email->clearAttachments();

标题

您可以设置自定义标题

// Add headers
$email->addHeader("X-HEADER", "WELCOME");
$email->addHeader("X-HEADER-2", "BIENVENUE");

// Get headers
$email->getHeaders(); // ["X-HEADER" => "WELCOME", "X-HEADER-2" => "BIENVENUE"]

// Delete headers
$email->clearHeaders();

高级

检查DNS

在添加地址之前,您可以请求DNS MX记录检查。

// Set parameter
$email->setCheckDns(true);

// Add address
$email->addTo(new \Lianhua\Email\EmailAddress("test@google.com")); // Valid
$email->addTo(new \Lianhua\Email\EmailAddress("test@google.con")); // Not valid

返回值

当您使用地址函数时,您可以查看输入的地址是否已添加

$email->addTo(new \Lianhua\Email\EmailAddress("test@google.com")); // \Lianhua\Email\Email::NO_ERRORS
$email->addTo(new \Lianhua\Email\EmailAddress("test.google.com")); // \Lianhua\Email\Email::ERROR_EMAIL_FORMAT

// If you enabled DNS check
$email->addTo(new \Lianhua\Email\EmailAddress("test@google.con")); // \Lianhua\Email\Email::ERROR_EMAIL_DNS_CHECK

您也可以查看附件是否已添加

// Add attachments
$email->addAttachment("/tmp/A.pdf"); // \Lianhua\Email\Email::NO_ERRORS
$email->addAttachment("/tmp/kjbfkkqsd"); // \Lianhua\Email\Email::ERROR_FILE_NOT_FOUND
$email->addAttachment("/tmp"); // \Lianhua\Email\Email::ERROR_FILE_IS_DIRECTORY