Как добавить переменные php в электронные письма php Sendinblue? - PullRequest
2 голосов
/ 05 июня 2019

Я хочу отправлять электронные письма в php, используя транзакционную электронную почту Sendinblue.Проблема в том, что мне нужно добавить переменные php в мое электронное письмо, но после того, как я их получил, переменные php не изменились на тексты!

Вот что я получил:

https://drive.google.com/file/d/1--c84eZcSJpp9icfsNZeXxj048Y-d3f9/view?usp=drivesdk

Это мой php код:

<?php

// Check for empty fields
if(empty($_POST['name']) || empty($_POST['email']) || empty($_POST['phone']) || empty($_POST['message']) || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
  http_response_code(500);
  exit();
}

$name = strip_tags(htmlspecialchars($_POST['name']));
$email = strip_tags(htmlspecialchars($_POST['email']));
$phone = strip_tags(htmlspecialchars($_POST['phone']));
$message = strip_tags(htmlspecialchars($_POST['message']));

// Create the email and send the message
$subject = "HMP Reseller - New Message";
$body = "You have received a new message from HMP Reseller contact form.\n\n"."Here are the details:\n\nName: $name\n\nEmail: $email\n\nPhone: $phone\n\nMessage:\n$message";

include 'Mailin.php';
$mailin = new Mailin('hosteymega@gmail.com', 'API-KEY');
$mailin->
addTo('hosteymega@gmail.com', 'HosteyMega Hosting')->
setFrom('admin@hosteyme.ga', 'HosteyMega Admin')->
setReplyTo('$email','HMP Reseller Client')->
setSubject('$subject')->
setText('$body')->
setHtml('<h2>$body</h2>');
$res = $mailin->send();
/**
Successful send message will be returned in this format:
{'result' => true, 'message' => 'Email sent'}
*/

?>

Есть ли способ решить это?

1 Ответ

0 голосов
/ 05 июня 2019

В setText('$body') вы использовали одинарные кавычки, а не двойные, поэтому переменная $body не раскрывается автоматически - она ​​передает ее как буквенную строку. Вы должны либо использовать двойные кавычки, либо просто передать ее как саму переменную, поскольку она уже должна быть строкой (поэтому просто используйте setText($body) без кавычек).

Кроме того, чтобы избежать возможных проблем с экранированием, вы можете переключиться на конкатенацию строк для создания переменной тела или использовать более явное расширение переменной, заключив их в фигурные скобки, например:

$body = "You have received a new message from HMP Reseller contact form.\n\n"."Here are the details:\n\nName: ${name}\n\nEmail: ${email}\n\nPhone: ${phone}\n\nMessage:\n${message}";
...