如何在prestashop中发送电子邮件?

问题描述 投票:0回答:2

我尝试使用 php 的 mail() 函数发送电子邮件。但它不发送电子邮件。

代码:

mail("boidurj[email protected]", "test", "testing");

这些是我的电子邮件配置

SMTP服务器:smtp.gmail.com 加密:SSL 端口:465

当我发送测试邮件时,我会收到电子邮件。但我没有收到任何来自我编写的代码的电子邮件。

有人可以帮忙吗?

php prestashop-1.7
2个回答
1
投票

这是我在 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/

数组中的变量,我们在电子邮件模板中使用它们。


0
投票

PHP mail() 函数将使用同一服务器上安装的邮件服务器发送电子邮件(如果有),而不是外部 SMTP。

如果您想“以 Prestashop 方式”发送电子邮件,请查看 Mail 类

/classes/Mail.php

尤其是Send方法,即实际将通过邮件发送的方法。

请注意,您将需要一个包含邮件内容的模板 TPL,您可以查看默认模块(如 ps_emailalerts)以查看代码的工作原理。

© www.soinside.com 2019 - 2024. All rights reserved.