从php mail()改为wp_mail()提交表单

e5nqia27  于 2023-03-21  发布在  PHP
关注(0)|答案(1)|浏览(129)

最近hostingprovider已禁用其客户发送表单与php mail().用户可以提交一个表单看起来像这样,这总是工作正常.我如何更改此邮件()发送与wp_mail().我已经安装WP邮件SMTP这是工作,但这是一个自定义的形式,必须更改发送与wp_mail()而不是mail().谢谢!
〈?php

session_start();
if(!isset($_SESSION['set']))
{
    $_SESSION['set'] = 1;
    $oConnect       = mysqli_connect('localhost', 'userlogin', 'userpass');
    $content    = str_replace(array_keys($replace), array_values($replace), $content);

    //DATA pulled from DB 

    $to         = $_POST['txt_email']; 
    $subject    = 'Your request';
    $headers    = "From: info@domainexample.com\r\n";
    $headers    .= "Bcc: info@domainexmaple.com\r\n";
    $headers    .= "Reply-To: info@domainexample.com\r\n";
    $headers    .= "MIME-Version: 1.0\r\n";
    $headers    .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
    // send mail
    if(!empty($to)){
       mail($to,$subject,$content,$headers); 
    }
}

?〉'''

nbewdwxp

nbewdwxp1#

问题解决了!wp_mail不起作用的原因,因此WP Mail SMTP等插件也不起作用,是因为wp-load没有被调用。如果没有调用,那么只有mail()函数起作用,而不是wp_mail()。
要解决这个问题,只需将此直接放在〈?php之后:
require_once(“../wp-load.php”);
通过添加这个,如果您使用wp_mail($to,$subject,$headers),则会调用wp_mail函数而不是mail();

相关问题