netherphp / email
一个邮件库。
Requires
- php: ^8.1
- google/recaptcha: ^1.2.4
- mailjet/mailjet-apiv3-php: ^1.5
- netherphp/common: dev-master
- phpmailer/phpmailer: ^6.7
- sendgrid/sendgrid: ^8.0.1
Requires (Dev)
- dealerdirect/phpcodesniffer-composer-installer: ^0.7.2
- netherphp/standards: >=0.2.8
- phpunit/phpunit: ^9.5.28
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
-
第三,你需要强制该用户的二因素认证。
-
第四,你需要出于某种原因进入Azure,即使你可能没有使用任何Azure服务,也请转到Azure Active Directory,属性,微小的“管理安全默认值”链接,关闭安全默认值,否则你以后甚至无法创建所需的SMTP身份验证。
-
第五,你需要回到第二步,点击用户,然后点击注销所有会话。如果你在管理帐户上这样做,有很大可能性,你将在几分钟内无法登录到任何Microsoft相关的服务,大多数管理面板都会死亡并显示将你直接指向JSON错误输出的重定向,这就是企业这样做的方式。
-
第六,你需要回到第二步,以你刚刚强制注销的用户身份登录,这样你再次面对管理员。然后转到会话右上角的下拉菜单,点击查看帐户,然后安全信息。
-
第七,你需要创建一个新的登录方式,在下拉菜单中选择“应用密码”,这就是你将用作SMTP密码的内容。如果你在那个下拉菜单中没有“应用密码”,你需要重复此过程,直到你拥有它。