У меня есть почтовый код, который работал нормально до тех пор, пока через пару дней полученное письмо вместо обычного письма стало кодом для Gmail ... вот так:
--PHP-mixed-a3bf01bb0d28e41880e43720dfc8860d
Content-Type: multipart/alternative; boundary="PHP-alt-a3bf01bb0d28e41880e43720dfc8860d"
--PHP-alt-a3bf01bb0d28e41880e43720dfc8860d
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Type here...
--PHP-alt-a3bf01bb0d28e41880e43720dfc8860d
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
<div style="width:900px"><br /><p>
Type here...</p>
--PHP-alt-a3bf01bb0d28e41880e43720dfc8860d--
--PHP-mixed-a3bf01bb0d28e41880e43720dfc8860d
Content-Type: ; name=""
Content-Transfer-Encoding: base64
Content-Disposition: attachment
--PHP-mixed-a3bf01bb0d28e41880e43720dfc8860d--
любая идея, где начать отслеживать это. Насколько я знаю, я ничего не изменил в коде.
Пустой вопрос, но я понятия не имею, с чего начать ... Любой комментарий будет приветствоваться, и я готов учиться. Спасибо за ваше время ...
update-
Вот код, который производит код выше:
mail.php
<?php
function csatlakozas($szerver, $user, $pw)
{ // evvel meg csatlakozom az adatbázishoz, hogy ki tudjam olvasni a cÃmzetteket
if (!$con = mysql_connect($szerver, $user, $pw))
{
die('Could not connect to SQL DB: ' .mysql_error().'<br/>Try it later AND please report to your system administrator!');
}
};
//belepes a db-be
csatlakozas("localhost","use","pass");
mysql_select_db("db");
//atveszem a csoport neveket es elszaladok mailozni csoportonkent...
$result=$_POST['to-k'];
$datum=date("Y-m-d");
$subject = $_POST["subject"];
$head="<div style=\"width:900px\"><br />";
$messagetext = $_POST["message"];
$foot="</div>";
$message = $head.$messagetext.$foot;
echo "<p>Original message</p>";
echo $message;
echo "<p>Mass mail has been sending to:</p>";
//kezdodik a csoportok kiolvasasa...
foreach($result as $value)
{
echo "<h3>".$value."</h3>";
// kiolvasom a cimzetteket az adott kategoriaban
$sql="SELECT * FROM emails WHERE sendesstat=1 AND deleted=0 AND classhoz=\"".$value."\"";
//echo $sql;
$query=mysql_query($sql);
// kuldjuk az emailokat
while($data=mysql_fetch_array($query))
{
//define the receiver of the email
$to = $data["firstname"]." ".$data["surname"]." <".$data["email"].">"; // ******* itt a form adatai
$from = "my ltd <admin@myweb.co.uk>"; // ******* itt a form adatai
//create a boundary string. It must be unique
//so we use the MD5 algorithm to generate a random hash
$random_hash = md5(date('r', time()));
//define the headers we want passed. Note that they are separated with \r\n
$headers = "From: ".$from."\r\nReply-To: ".$from; // ******* itt a form adatai
//add boundary string and mime type specification
$headers .= "\r\nMIME-Version: 1.0\r\nContent-Type: multipart/mixed; boundary=\"PHP-mixed-".$random_hash."\"";
//read the atachment file contents into a string,
//encode it with MIME base64,
//and split it into smaller chunks
// ************************************
// itt kellett belenyúlni
// ************************************
$fname=$_FILES["fileatt"]["name"];
$filename=$_FILES["fileatt"]["tmp_name"];
$filetype=$_FILES["fileatt"]["type"];
$attachment=chunk_split(base64_encode(file_get_contents($filename)));
// ************************************
// eddig
// ************************************
//define the body of the message.
include 'sendmail.php';
}
}
?>
sendmail.php:
<?php
ob_start(); //Turn on output buffering
?>
--PHP-mixed-<?php echo $random_hash; ?>
Content-Type: multipart/alternative; boundary="PHP-alt-<?php echo $random_hash; ?>"
--PHP-alt-<?php echo $random_hash; ?>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
<?php echo strip_tags($message); ?>
--PHP-alt-<?php echo $random_hash; ?>
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
<?php echo $message; ?>
--PHP-alt-<?php echo $random_hash; ?>--
--PHP-mixed-<?php echo $random_hash; ?>
Content-Type: <?php echo $filetype;?>; name="<?php echo $fname;?>"
Content-Transfer-Encoding: base64
Content-Disposition: attachment
<?php echo $attachment; ?>
--PHP-mixed-<?php echo $random_hash; ?>--
<?php
//copy current buffer contents into $message variable and delete current output buffer
$msg = ob_get_clean();
//send the email
//$mail_sent = 0;
$mail_sent = @mail($to, $subject, $msg, $headers, " -f admin@mydomai.co.uk" );
//if the message is sent successfully print "Mail sent". Otherwise print "Mail failed"
echo $mail_sent ? "Mail sent to ".$to."<br />" : "Mail failed to ".$to."<br />";
?>
Я надеюсь, что есть хорошее решение, так как еще не нашли ничего в Google, что облегчило бы жизнь по этому поводу: (