Я настроил mail()
функцию, которая довольно проста в PHP
:
$to = $_POST['address_to_send'];
$subject = "New Message";
$message = $_POST['content_to_send'];
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
$headers .= "From: me@example.com" . "\r\n";
echo $message;
mail($to,$subject,$message,$headers);
echo
показывает мой прекрасный отформатированный HTML
именно так, как я хочу, и отправляет электронное письмо, как ожидается, на правильный адрес с правильной темой и правильным адресом.
Тем не менее, фактическое содержание письма пустое ???
Контент генерируется с использованием PHP
, но не думайте, что это должно иметь значение, поскольку echo
показывает только правильно отформатированный HTML.
Любая помощь или предложения с этим будет принята с благодарностью.
/ --------- --------- EDIT \
Хорошо, поэтому после тестирования echo
работает только локально на WAMP и не работает на моем сервере.
Попытался использовать var_dump()
вместо этого, чтобы попытаться выяснить, что происходит, и хотя в WAMP он выдает мою строку, он пуст, когда он находится на сервере.
Так что я думаю, что это связано с тем, как я запускаю функцию почты.
У меня есть такая форма (генерируется в PHP
):
<form action='purchase_orders.php?id=$order_id' method='POST'>
<button onclick='send_po($i)'>Send to $email</button><br />
<input type='hidden' id='po_content_to_send' name='po_content_to_send'>
<input type='hidden' id='po_address_to_send' name='po_address_to_send' value='$email'>
</form>
В JS
запускается следующая функция:
function send_po(po){
var po_to_send = document.getElementById('purchase_order_'+po).innerHTML;
document.getElementById('po_content_to_send').value = po_to_send;
this.form.submit();
}
Это добавляет содержимое рассматриваемого DIV к скрытому вводу перед отправкой формы, которая должна вызвать это PHP
:
if(isset($_POST['po_content_to_send']) && isset($_POST['po_address_to_send'])){
$to = $_POST['po_address_to_send'];
$subject = "New Purchase Order";
$message = $_POST['po_content_to_send'];
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
$headers .= "From: me@example.com" . "\r\n";
var_dump($message);
//mail($to,$subject,$message,$headers);
}