0

嗨,伙计们,

我正在尝试使用默认的 PHP Mail 功能通过 PHP 发送几封电子邮件(我知道有库,但这是一个我只会运行 1 次的脚本......)

这是我正在使用的代码($leMSG和电子邮件发送部分在 foreach 循环内):

$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@addres.nl\r\n';
    $headers .= 'From: Webmaster website.nl <webmaster@website.nl> \r\n';

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

但是邮箱是空的。当我查看源代码(使用 GMail )时,我可以看到有一些 HTML:

From: webmaster@website.nl 
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@addres.nl<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>

有人知道这个脚本有什么问题吗?我没有收到任何错误或类似的东西......

编辑,现在使用更多的换行符来提高代码的可读性,但这并没有解决它

$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;
4

2 回答 2

2

</tilte>头部拼写错误。应该</title>

于 2013-11-07T14:54:37.210 回答
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" />

编辑:查看您的核心代码,这似乎是另一个问题:

$headers .= 'To: email@addres.nl\r\n';
$headers .= 'From: Webmaster website.nl <webmaster@website.nl> \r\n';

也许试试这样。

$headers .= "To: " . 'email@addres.nl' . "\r\n";
$headers .= 'From: " . 'Webmaster website.nl <webmaster@website.nl>' . "\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@addres.nl<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@addres.nl<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>
于 2013-11-07T14:53:10.963 回答