如何在PHPMailer中使用Sendinblue

时间:2019-07-09 06:49:46

标签: php phpmailer sendinblue

我正在使用PHPMailer设置电子邮件配置,并且可以在我的办公室中使用本地电子邮件正常工作,但是由于我想使用Sendinblue作为电子邮件API,所以我坚持了下来,但是没有用。

我试图找到一些修复它的建议,但是卡住了。有没有人试图用PHPMailer弄清楚我对Sendinblue的要求?

在后台使用PHPMailer库的情况下,我通常使用此代码来运行程序

function send_mail2($from,$from_name,$to,$to_name,$cc,$cc_name,$cc2,$cc_name2,$cc3,$cc_name3,$subjek,$template,$is_smtp,$usermail,$password){
    $sendmail = new PHPMailer();
    if($is_smtp = 'Y'){
        $sendmail->IsSMTP(); // enable SMTP
        // $sendmail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only
        $sendmail->SMTPAuth = true; // authentication enabled
        $sendmail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for GMail
        $sendmail->Host = "192.x.x.x";
        $sendmail->Port = 465; // or 587
        $sendmail->Username = "xxx@xxx.com";
        $sendmail->Password = "xxx";
    }
    $sendmail->setFrom("xxx@xxx.com","xxx@xxx.com"); //email pengirim
    $sendmail->addReplyTo("xxx@xxx.com","xxx@xxx.com"); //email replay
    $sendmail->addAddress($to,$to_name); 
    $sendmail->AddCC($cc,$cc_name); 
    $sendmail->AddCC($cc2,$cc_name2); 
    $sendmail->AddCC($cc3,$cc_name3); 
    $sendmail->Subject = $subjek; 
    $sendmail->Body=$template; 
    $sendmail->isHTML(true);
    if(!$sendmail->Send()) {
        return "failed";                  
    }else{ 
      return "success";
    }
}

我只想找到如何在PHPMailer中使用Sendinblue。

1 个答案:

答案 0 :(得分:1)

首先,您似乎正在使用旧版本的PHPMailer,并且您的代码基于一个非常旧的示例,因此upgrade

您似乎甚至没有尝试使用sendinblue;您将脚本指向本地邮件服务器。因为您使用的是原义IP地址,所以SSL将无法工作,因为它将无法验证证书。

如果要直接从PHPMailer使用sendinblue,则需要使用sendinblue的SMTP服务器,这将在其文档中介绍。如果他们不提供SMTP服务(例如mailgun那样),则您将需要使用其HTTP API(具有plenty of documentation)。尽管可以使用PHPMailer进行交谈,但是您不能使用PHPMailer进行交谈,例如,通过执行当前除 以外的所有操作,不要调用send();而是这样做:

$message = $sendmail->getSentMIMEMEssage();

这将为您提供准备好提交给HTTP API的全格式RFC822消息。