techamica/smtpserver-api

PHP 中的 API 供应商,用于 https://smtpserver.com

1.0.4 2021-12-23 19:15 UTC

This package is not auto-updated.

Last update: 2024-09-27 20:08:53 UTC


README

Logo

smtpserver-api

PHP 中用于 https://smtpserver.com 的 API 供应商。邮件发送现在变得超级简单!

许可证

PHP 许可证 3.0

PHP_logo

附录

安装

使用 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 idsnamesArray。一些 names 可以是空的 String,如果需要的话。

  $smtp->setTo([
    'test3@test.com' => 'Good Recipient 1',
    'test4@test.com' => 'Good Recipient 2',
    'test5@test.com'
  ]);

发送邮件必须设置 To 邮件。

接下来,设置 From 邮件。只需将 from mail idname 传递到方法中。 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);

设置 HTMLText。这两个中的任何一个都是 必填的。同时放置两者是一个好习惯。

  $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 包含三个键:codeheaderbodycode 是响应代码,header 是响应头列表,body 包含 JSON 格式的响应体。 body 看起来像

  { success: 1, message: 'Mail accepted' }

如果在发送邮件时出现错误,则 body 看起来像

  { success: 0, message: 'SOME ERROR MESSAGE' }

屏幕截图

CompleteCode Screenshot

使用情况

此项目由以下公司使用