netherphp/email

一个邮件库。

dev-master 2024-07-10 20:26 UTC

This package is auto-updated.

Last update: 2024-09-10 20:46:43 UTC


README

这个库试图让发送邮件再次变得不那么疯狂,因为现在每个人都阻止了使 mail() 工作的东西。例如,DigitalOcean 与 SendGrid 的合作关系,他们完全假装这不是一个圈子。

支持的服务

  • SendGrid(你可以免费获得每天100次,午夜UTC重置)
  • Mailjet(你可以免费获得每天200次,重置未知,他们的仪表板很糟糕。)
  • 一个SMTP服务器。

配置

use Nether\Email;

($Config)
->Set(Email\Library::ConfSendGridKey, 'SENDGRID_API_KEY')
->Set(Email\Library::ConfMailjetPublicKey, 'MAILJET_PUB_KEY')
->Set(Email\Library::ConfMailjetPrivateKey, 'MAILJET_PRIV_KEY')
->Set(Email\Library::ConfServerHost, 'SMTP_HOSTNAME')
->Set(Email\Library::ConfServerPort, SMTP_PORT_NUM)
->Set(Email\Library::ConfServerUsername, 'SMTP_USERNAME')
->Set(Email\Library::ConfServerPassword, 'SMTP_PASSWORD')
->Set(Email\Library::ConfOutboundVia, OUTBOUND_VIA_CONST_INT)
->Set(Email\Library::ConfOutboundReplyTo, 'EMAIL_ADDRESS')
->Set(Email\Library::ConfOutboundFrom, 'EMAIL_ADDRESS')
->Set(Email\Library::ConfOutboundName, 'EMAIL_FRIENDLY_NAME')
->Set(Email\Library::ConfOutboundSubject, 'EMAIL_DEFAULT_SUBJECTLINE');

// Email\Outbound::ViaSMTP     = 1
// Email\Outbound::ViaSendGrid = 2
// Email\Outbound::ViaMailjet  = 3

SMTP陷阱

Office 365

如果你的目标是现在使用Office 365 SMTP,它将工作,但你会有困难。你需要找到四个不同的不相关的仪表板。我在这里提供了一些步骤,但由于Microsoft的变化,一年后可能都不会工作。他们的在线服务应该依法被登记为犯罪现场。

  • 首先,你需要一个可以登录的用户帐户。但你现在不想以该用户登录,因为你需要先做一些MS管理员的事情。

  • 其次,你需要在管理员管理中启用SMTP身份验证。点击一个用户,邮件标签,管理邮件应用,勾选SMTP身份验证。

    https://admin.microsoft.com/Adminportal/Home?source=applauncher#/users

  • 第三,你需要强制该用户的二因素认证。

    https://account.activedirectory.windowsazure.com/UserManagement/MultifactorVerification.aspx?BrandContextID=O365

  • 第四,你需要出于某种原因进入Azure,即使你可能没有使用任何Azure服务,也请转到Azure Active Directory,属性,微小的“管理安全默认值”链接,关闭安全默认值,否则你以后甚至无法创建所需的SMTP身份验证。

    https://portal.azure.com

  • 第五,你需要回到第二步,点击用户,然后点击注销所有会话。如果你在管理帐户上这样做,有很大可能性,你将在几分钟内无法登录到任何Microsoft相关的服务,大多数管理面板都会死亡并显示将你直接指向JSON错误输出的重定向,这就是企业这样做的方式。

  • 第六,你需要回到第二步,以你刚刚强制注销的用户身份登录,这样你再次面对管理员。然后转到会话右上角的下拉菜单,点击查看帐户,然后安全信息。

    https://mysignins.microsoft.com/security-info

  • 第七,你需要创建一个新的登录方式,在下拉菜单中选择“应用密码”,这就是你将用作SMTP密码的内容。如果你在那个下拉菜单中没有“应用密码”,你需要重复此过程,直到你拥有它。