techamica / smtpserver-api
PHP 中的 API 供应商,用于 https://smtpserver.com
README
smtpserver-api
PHP 中用于 https://smtpserver.com 的 API 供应商。邮件发送现在变得超级简单!
许可证
附录
安装
使用 composer 安装 techamica/smtpserver-api。此包只能使用 composer version 2x 或更高版本安装。
composer update composer require techamica/smtpserver-api
文档
使用 composer 安装 techamica/smtpserver-api 后,打开您的 Controller 脚本(针对 Laravel),并在脚本 namespace 下方使用 Smtp\SmtpApiMailer 类。
use Smtp\SmtpApiMailer;
如果您使用的是 Core PHP,则需要将 autoload.php 文件包含到从 vendor 目录的脚本中。然后,使用 Smtp\SmtpApiMailer 类。
require_once getcwd()."/vendor/autoload.php"; use Smtp\SmtpApiMailer;
接下来,创建一个 SmtpApiMailer 类的对象。这需要您提供一个 96 位的 API 密钥。
$smtp = new SmtpApiMailer('YOUR_API_KEY');
现在设置 To 邮件。您可以传递一个 String(电子邮件),或者一个 String(电子邮件)的 Array,以一次向多个收件人发送邮件。
$smtp->setTo('test1@test.com') ->setTo([ 'test2@test.com', 'test3@test.com' ]);
但是,如果您想添加收件人的姓名,您必须传递一个包含 email ids 和 names 的 Array。一些 names 可以是空的 String,如果需要的话。
$smtp->setTo([ 'test3@test.com' => 'Good Recipient 1', 'test4@test.com' => 'Good Recipient 2', 'test5@test.com' ]);
发送邮件必须设置 To 邮件。
接下来,设置 From 邮件。只需将 from mail id 和 name 传递到方法中。 name 是 可选的。
$smtp->setFrom('info@test.com', 'Good Sender');
发送邮件必须设置 From 邮件。
接下来,设置邮件的 Subject。这是一个 可选的 步骤。
$smtp->setSubject('Test subject for a test mail');
接下来,设置 自定义头。这也是一个 可选的 步骤。
$smtp->setHeader([ 'Custom-Header-1' => '<https://www.google.com>', 'Custom-Header-2' => '<https://www.google.com?source=email-client-unsubscribe-button>', 'Custom-Header-3' => 'ABCD-17G5-098H-F5TS-0865' ]);
如果有的话,设置 附件。您可以通过传递一个 String(路径)来附加一个文件,或者可以通过传递一个 Array 中的多个文件路径来附加多个文件。但请记住,将文件的 绝对路径 提供给文件,并且附件的总大小不应超过 25MB。这是一个 可选的 步骤。
$smtp->addFile('ABSOLUTE_PATH_TO/web.zip') ->addFile([ "ABSOLUTE_PATH_TO/photo_2019-02-08_00-01-11.jpg", "ABSOLUTE_PATH_TO/mongodb_ the definitive guide - kristina chodorow_1401.pdf" ]);
设置邮件发送的 timeout。默认超时时间为 20sec。根据附件大小和互联网连接,这可以设置为其他值。要设置新的超时时间,以 秒 为单位传递值。
$smtp->setTimeout(30);
设置 HTML 和 Text。这两个中的任何一个都是 必填的。同时放置两者是一个好习惯。
$smtp->->setText('This is a test mail only'); $smtp->setHtml('<p>This is a test mail only</p>');
最后,发送邮件。此方法要么 返回 一个 Array,要么为任何与设置相关的错误 抛出异常。因此,请确保使用一个包含此方法的 try-catch 块。
try {
$response = $smtp->sendMail();
print_r($response);
} catch(\Exception $e) {
-- YOUR CODE --
}
输出 Array 包含三个键:code、header 和 body。 code 是响应代码,header 是响应头列表,body 包含 JSON 格式的响应体。 body 看起来像
{ success: 1, message: 'Mail accepted' }
如果在发送邮件时出现错误,则 body 看起来像
{ success: 0, message: 'SOME ERROR MESSAGE' }
屏幕截图
使用情况
此项目由以下公司使用