2015-03-13 3 views
1

я есть кнопка на мой индекс/домашней странице:php отправить электронную почту: включить html адрес электронной почты в отдельный файл, используя php?

<a href="action.php">click</a> 

Когда нажата она работает мой запрос MySQL в action.php и после того, как я запустить мой запрос я хочу, чтобы отправить по электронной почте. Таким образом, после того, как запрос был выполнен я включить мой send_email.php файл:

$query = "update table1 SET action = '1' WHERE something = something"; 
$result = mysql_query($query); 

include 'send email.php' 

в send_email.php я есть:

<?php 
date_default_timezone_set("Europe/London"); 
// multiple recipients 
$to = "[email protected]"; // 

// subject 
$subject = 'New Supplier Set-Up - Hewden Portal'; 

// message 
$message = include '../../assets/email/index.php'; 

// To send HTML mail, the Content-type header must be set 
$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 

// Additional headers 
$headers .= 'To: Mark <[email protected]>'. "\r\n"; 
$headers .= 'From: Hewden Portal <[email protected]>' . "\r\n"; 
$headers .= "Cc: mark.o'[email protected]" . "\r\n"; 


// Mail it 
mail($to, $subject, $message, $headers); 

echo "Updated data successfully\n"; 

?> 

Как вы можете видеть, что я пытаюсь включить мой электронный HTML как отдельная php-файл, хранящийся в активах/email/index.php. Я пытаюсь сделать это таким образом, чтобы электронное письмо было легко отредактировано позднее.

Однако использование этого метода не работает. Письмо отправляется, но пустое без HTML. Также после выполнения запроса вы перейдете на страницу html электронной почты/index.php.

иллюстрация моего электронной почты HTML/index.php:

<html> 
<Body> 
<p>This is my email template</p> 
<p>More Text here bla bla</p> 
<style> 
Some CSS 
</style> 
</body> 
</html> 

Почему это? когда он должен повторять «Обновленные данные успешно» и отправлять электронную почту с помощью html?

Может кто-нибудь, пожалуйста, покажите мне, что я делаю неправильно? Спасибо

ответ

0

Вы пытаетесь отправить хранилище сообщений в php-файле, не так ли? Это не сработает. Вы должны использовать file_get_contents, чтобы получить содержимое HTML в виде строки и назначить его переменной $ message, а не просто включать ее.

+0

yes thats correct, как бы я структурировал это с помощью file_get_contents, так как это то, что я никогда не использовал раньше, спасибо –

+0

Это хорошо описано в документации. Нажмите на приведенную ссылку выше – Richie

+0

спасибо, я сделал то, что вы предложили, используя $ message = file_get_contents ('../../ assets/email/index.php'); однако теперь письмо не отправит –