我尝试使用 php 的 mail() 函数发送电子邮件。但它不发送电子邮件。
代码:
mail("boidurj[email protected]", "test", "testing");
这些是我的电子邮件配置
SMTP服务器:smtp.gmail.com 加密:SSL 端口:465
当我发送测试邮件时,我会收到电子邮件。但我没有收到任何来自我编写的代码的电子邮件。
有人可以帮忙吗?
这是我在 prestashop 中发送电子邮件的方法:
$email = '[email protected];[email protected]';
//$email = '[email protected]';
// Send Mail
$sendorders = Mail::Send($this->context->language->id,
'template_en',
'Order '.$id_order ,
array(
'{order_id}' => $id_order,
'{firstname}' => $client_firstname,
'{lastname}' => $client_lastname,
'{delivery_block_txt}' => $delivery,
'{delivery_block_html}' => $delivery,
'{client_city}' => $client_city,
'{client_postcode}' => $client_postcode,
'{client_country}' => $client_country,
'{client_phone}' => $client_phone,
'{products_html}' => $products_email,
),
explode(';', $email),
//$email,
NULL, //receiver name
'[email protected]', //from email address
'TEST Local Orders', //from name
$attach, //file attachment - no attachment = NULL
NULL, //mode smtp
_PS_MODULE_DIR_.'module_exemple/mails'
);
您可以在此处查看文档:https://devdocs.prestashop.com/1.7/development/mail/
数组中的变量,我们在电子邮件模板中使用它们。
PHP mail() 函数将使用同一服务器上安装的邮件服务器发送电子邮件(如果有),而不是外部 SMTP。
如果您想“以 Prestashop 方式”发送电子邮件,请查看 Mail 类
/classes/Mail.php
尤其是Send方法,即实际将通过邮件发送的方法。
请注意,您将需要一个包含邮件内容的模板 TPL,您可以查看默认模块(如 ps_emailalerts)以查看代码的工作原理。