2013-11-07 3 views
0

Hy ребята,PHP HTML-Mail пустой электронная почта

Я пытаюсь отправить несколько писем через PHP с функцией PHP почты по умолчанию (я знаю, что есть библиотеки, но это сценарий я только буду работать 1 раз ...)

Вот код, который я использую (в $leMSG и отправку сообщений электронной почты деталь внутри цикла Еогеасп):

$leMSG = '<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Uw nieuwe aanmeld gegevens voor website.nl</tilte></head><body><p>Beste klant van website.nl,</p><p>website.nl is overgegaan naar een nieuw systeem en uw account is mee verhuisd. Helaas konden we niet uw oude wachtwoord gebruiken, aangezien die beveiligd was opgeslagen. Daarom waren wij genoodzaakt om uw wachtwoord te resetten.</p><p>Uw nieuwe gegevens zijn:<br />Email: ' . $leEmail . '<br />Wachtwoord: ' . $password . '</p><p>U kunt uw gegevens <a href="http://wwww,website.nl/index.php?route=account/account"> hier </a> na lopen en desnoods veranderen.</p><p>Mochten er nog vragen/opmerkingen zijn, dan horen wij dat graag.</p><p>Met Vriendelijke Groet,<br />Webbeheer website.nl</p></body></html>'; 
$this -> mailer($leMSG, $item['email'], $item['customer_id']); 

и функцию почтовой программы:

function mailer($msg, $to, $id){ 
    $headers = 'MIME-Version: 1.0' . "\r\n"; 
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 

    // Additional headers 
    $headers .= 'To: [email protected]\r\n'; 
    $headers .= 'From: Webmaster website.nl <[email protected]> \r\n'; 

    if(mail('[email protected]', 'Uw nieuwe aanmeld gegevens voor website.nl', $msg, $headers)){ 
     return TRUE; 
    } 
    else{ 
     echo "<br />ERROR @id_" . $id; 
    } 
} 

Но электронная почта пуста. Когда я смотрю на источник (с GMail), я могу видеть, что есть некоторые HTML:

From: [email protected] 
To: 
Date: Thu, 7 Nov 2013 15:43:29 +0100 
Subject: Uw nieuwe aanmeld gegevens voor website.nl 

<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Uw nieuwe aanmeld gegevens voor website.nl</tilte></head><body><p>Beste klant van website.nl,</p><p>website.nl is overgegaan naar een nieuw systeem en uw account is mee verhuisd. Helaas konden we niet uw oude wachtwoord gebruiken, aangezien die beveiligd was opgeslagen. Daarom waren wij genoodzaakt om uw wachtwoord te resetten.</p><p>Uw nieuwe gegevens zijn:<br />Email: [email protected]<br />Wachtwoord: 55jws2tS0j</p><p>U kunt uw gegevens <a href="http://wwww,website.nl/index.php?route=account/account"> hier </a> na lopen en desnoods veranderen.</p><p>Mochten er nog vragen/opmerkingen zijn, dan horen wij dat graag.</p><p>Met Vriendelijke Groet,<br />Webbeheer website.nl</p></body></html> 

ли знает кто, что случилось с этим сценарием? Я не получаю какой-либо ошибки или что-то подобное ...

EDIT, используя в настоящее время еще несколько новых строк для читаемости кода, но это не исправить это

$leMSG = '<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Uw nieuwe aanmeld gegevens voor Kadobos.nl</tilte></head>' . PHP_EOL; 
$leMSG .= '<body><p>Beste klant van website.nl,</p>' . PHP_EOL; 
$leMSG .= '<p>website.nl is overgegaan naar een nieuw systeem en uw account is mee verhuisd. Helaas konden we niet uw oude wachtwoord gebruiken, aangezien die beveiligd was opgeslagen. Daarom waren wij genoodzaakt om uw wachtwoord te resetten.</p>' . PHP_EOL; 
$leMSG .= '<p>Uw nieuwe gegevens zijn:<br />Email: ' . $leEmail . '<br />Wachtwoord: ' . $password . '</p>' . PHP_EOL; 
$leMSG .= '<p>U kunt uw gegevens <a href="http://wwww.website.nl/index.php?route=account/account"> hier </a> na lopen en desnoods veranderen.</p>' . PHP_EOL; 
$leMSG .= '<p>Mochten er nog vragen/opmerkingen zijn, dan horen wij dat graag.</p>' . PHP_EOL; 
$leMSG .= '<p>Met Vriendelijke Groet,<br />Webbeheer website.nl</p></body></html>' . PHP_EOL; 
+0

Protip: используйте строки в строках HTML, чтобы их было легче читать. –

+0

Одна вещь - вы явно устанавливаете заголовок 'To:' в '$ headers', который вам не нужен; о котором позаботился первый параметр в вызове 'mail()'. Попробуйте удалить эту строку. – andrewsi

+0

Не отправляйте html-почту с помощью 'mail()'. 'mail()' бесполезный мусор. Используйте правильный почтовый пакет, например PHPMailer или Swiftmailer. –

ответ

2

</tilte> пишется неправильно в голове. Должно быть </title>

+0

Ты, сэр, мой герой. Спасибо, это сработало. Глупо, что он не работает с этой «крошечной» ошибкой ... – Mathlight

+0

Бинго! Кроме того, это не «крошечная» ошибка. Компьютеры не понимают тонкости. Итак, такие вещи считаются. – JakeGould

+0

@ JakeGould, я знаю, но это просто так глупо ... – Mathlight

1

мутноватый. Глядя на ваш HTML с возврата каретки правильно установить:

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<title>Uw nieuwe aanmeld gegevens voor website.nl</tilte> 
</head> 
<body> 
<p>Beste klant van website.nl,</p> 
<p>website.nl is overgegaan naar een nieuw systeem en uw account is mee verhuisd. Helaas konden we niet uw oude wachtwoord gebruiken, aangezien die beveiligd was opgeslagen. Daarom waren wij genoodzaakt om uw wachtwoord te resetten.</p> 
<p>Uw nieuwe gegevens zijn:<br />Email: ' . $leEmail . '<br />Wachtwoord: ' . $password . '</p> 
<p>U kunt uw gegevens <a href="http://wwww,website.nl/index.php?route=account/account"> hier </a> na lopen en desnoods veranderen.</p> 
<p>Mochten er nog vragen/opmerkingen zijn, dan horen wij dat graag.</p> 
<p>Met Vriendelijke Groet,<br />Webbeheer website.nl</p> 
</body> 
</html> 

Интересно об этой линии:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 

Моя кишка говорит, что это должно замыкаться так и должно быть; отметить / в конце линии:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 

EDIT: Глядя на ваш основной код это выглядит как еще один вопрос:

$headers .= 'To: [email protected]\r\n'; 
$headers .= 'From: Webmaster website.nl <[email protected]> \r\n'; 

Возможно попробовать, как это.

$headers .= "To: " . '[email protected]' . "\r\n"; 
$headers .= 'From: " . 'Webmaster website.nl <[email protected]>' . "\r\n"; 

Сингл против двойных кавычек вопроса можно был бы добавить больше строк в тело сообщения &, таким образом, иметь свою заслонку программы почты при попытке обработать HTML часть сообщения. Смысл кажется, что однострочное пространство между заголовками & вызывает проблемы. Так что выглядит так; посмотреть на участке между Subject: и телом сообщения:

Subject: Uw nieuwe aanmeld gegevens voor website.nl 

<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Uw nieuwe aanmeld gegevens voor website.nl</tilte></head><body><p>Beste klant van website.nl,</p><p>website.nl is overgegaan naar een nieuw systeem en uw account is mee verhuisd. Helaas konden we niet uw oude wachtwoord gebruiken, aangezien die beveiligd was opgeslagen. Daarom waren wij genoodzaakt om uw wachtwoord te resetten.</p><p>Uw nieuwe gegevens zijn:<br />Email: [email protected]<br />Wachtwoord: 55jws2tS0j</p><p>U kunt uw gegevens <a href="http://wwww,website.nl/index.php?route=account/account"> hier </a> na lopen en desnoods veranderen.</p><p>Mochten er nog vragen/opmerkingen zijn, dan horen wij dat graag.</p><p>Met Vriendelijke Groet,<br />Webbeheer website.nl</p></body></html> 

Если делают так:

Subject: Uw nieuwe aanmeld gegevens voor website.nl 
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Uw nieuwe aanmeld gegevens voor website.nl</tilte></head><body><p>Beste klant van website.nl,</p><p>website.nl is overgegaan naar een nieuw systeem en uw account is mee verhuisd. Helaas konden we niet uw oude wachtwoord gebruiken, aangezien die beveiligd was opgeslagen. Daarom waren wij genoodzaakt om uw wachtwoord te resetten.</p><p>Uw nieuwe gegevens zijn:<br />Email: [email protected]<br />Wachtwoord: 55jws2tS0j</p><p>U kunt uw gegevens <a href="http://wwww,website.nl/index.php?route=account/account"> hier </a> na lopen en desnoods veranderen.</p><p>Mochten er nog vragen/opmerkingen zijn, dan horen wij dat graag.</p><p>Met Vriendelijke Groet,<br />Webbeheer website.nl</p></body></html> 
+0

Спасибо, исправил это, но не помогло: S – Mathlight

+1

Спасибо за идею. к счастью, теперь это выглядело неплохо, но я просто использую это, потому что ты никогда не знаешь;) – Mathlight

Смежные вопросы