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' }
屏幕截图
使用情况
此项目由以下公司使用