要在 PHP 中发送电子邮件,请使用 mail()
函数。要发送信件,您需要指定收件人地址、信件主题和消息文本,以及特殊的“发件人”标头,指示发件人:
<?php
mail('receiver@example.com', '信件主题', '信件正文', '发件人:sender@example.com');
?>
如果在主机上执行此代码,则信件将由收件人发送和接收,但如果我们使用 OSPanel,则默认情况下所有信件将简单地写入日志文件(位于文件夹 . \OSPanel\logs\mail
)。
[!信息] 有关此主题的更多信息可以在 PHP 文档 中找到。
设置通过远程 SMTP 发送 电子邮件 到 OSPanel 6.0
安装 Windows 应用程序 sendmail.exe
SendMail 是一个可以使用 SMTP 协议发送电子邮件的程序。
在以前版本的 OSPanel 中包含 sendmail.exe 程序,但在版本 6.0 中则不包含,因此:
下载 sendmail.zip 并解压其内容(例如解压到 .\OSPanel\sendmail
文件夹中)
设置 SendMail
在配置文件 С:\sendmail\sendmail.ini
中指定您的值:
smtp_服务器=
smtp_端口=
auth_用户名=
验证密码=
[!注意] 指定参数时应不带引号。
为流行托管 Timeweb 设置 SendMail 的示例
从网站上的脚本发送电子邮件可以通过 SMTP 服务器或通过每个虚拟托管服务器上安装的 Exim(消息转发代理)来完成 [Timeweb](https://timeweb.com/ru/docs/pochta/osnovnye-voprosy-po -rabote-s-pochtoj/otpravka-pochty-cherez-skripty/“通过脚本发送邮件”)。
要通过 SMTP 发送,请使用以下详细信息:
- 用于发送电子邮件的服务器 - smtp.timeweb.ru,
- 端口 - 25 或 2525,
- 用户登录名与电子邮件地址匹配,
- 您的电子邮件帐户的密码。
服务器设置 OSPanel
Open Server Panel 及其模块的设置存储在文件 .\OSPanel\config\program.ini
中。在 [smtp] 部分禁用内置 SMTP 服务器:
...
[邮件传输]
;保存后打开电子邮件=关闭
;保存的电子邮件扩展名=.eml
;smtp_端口 = 25
smtp_服务器 = 关闭
...
接下来,您需要使用为我们的项目激活的版本(例如 PHP-8.3)编辑 PHP 模块设置文件 .\OSPanel\config\PHP-8.3\default\templates\php.ini
:
...
;--------------------------------
;邮件
;--------------------------------
mail.add_x_header = 关闭
;mail.force_extra_parameters =
;mail.log = "{root_dir}/logs/{module_name}/php_mail.log"
;mail.mixed_lf_and_crlf = 关闭
;sendmail_from=
;发送邮件路径=
;SMTP =“{api_domain}”
;smtp_端口 = {smtp_端口}
sendmail_path = "{root_dir}/sendmail/sendmail.exe -t"
...
或者代替文件 .\OSPanel\config\PHP-8.3\default\templates\php.ini
中添加的行:
sendmail_path = "{root_dir}/sendmail/sendmail.exe -t"
添加行
php_admin_value sendmail_path = "{root_dir}/sendmail/sendmail.exe -t"
在文件 .\OSPanel\config\PHP-8.3\default\templates\httpd.conf
的末尾:
...
</虚拟主机>
</如果模块>
</宏>
php_admin_value sendmail_path = "{root_dir}/sendmail/sendmail.exe -t"
# ------------------------------------------------- ----------------------------------
# 虚拟主机
# ------------------------------------------------- ----------------------------------
...
[!警告] 重要:要应用更改,您必须重新启动打开服务器面板。
因此,发送邮件应该可以。