成功发送电子邮件后发送给CSV
问题描述:
我有一个主管表单,它在填写完毕后发送电子邮件通知。如果电子邮件成功,我怎样才能将这些数据写入服务器上的csv?成功发送电子邮件后发送给CSV
这是我的代码,现在它完全不做任何事情,填写电子邮件结束时的表单,但没有写入CSV。
逻辑是(可能是错误的),如果它到达succ消息,打开file.csv并将$ email_f写入并关闭csv。
我在做什么错了?
<?php
if($_POST['email']){
$email_f = $_POST['email'];
$to = "[email protected]";
$subject = "subject";
$message = "<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
</head>
<body>
<strong>Title</strong><hr />
<table align='center' width='99%' border='0' cellpadding='0' cellspacing='0'>
<tr bgcolor='#cccccc'><td width='30%' style='padding:7px 5px; font-weight:bold;'>Email:</td><td style='padding:7px 5px;'>".$email_f."</td></tr>
</table>
</body>
</html>";
//echo $message;
$headers = "From: <[email protected]>\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=ISO-8859-1\r\n";
$headers .= 'Bcc:' . "\r\n";
$mail = mail($to, $subject, $message, $headers);
if($mail)
{
echo "succ";
$file = 'file.csv';
$file = fopen($file, 'a');
fputcsv($file, $email_f);
fclose($file);
}
}
?>
我也试过这样:
$list = array ($mail());
$fp = fopen('/file.csv', 'w');
foreach ($list as $fields) {
fputcsv($fp, $fields);
}
fclose($fp);
好吧越来越近了,我说这SNIPPIT这将打开文件,但不写东西给它,任何想法?:
$list = array(
mail($to, $subject, $message, $headers)
);
$fp = fopen('file.csv', 'w');
foreach ($list as $fields) {
fputcsv($fp, $fields);
}
fclose($fp);
答
此代码适用于任何人想知道的事情!
$list = array(
$email_f
);
$fp = fopen('file.csv', 'a');
foreach ($list as $fields) {
fputcsv($fp,explode(',', $fields));
}
fclose($fp);
使用http://php.net/manual/en/function.error-reporting.php设置捕捉和显示;它显示了什么? –
^这是一个问题,顺便说一句,就像你的问题,你也喜欢答案吗?同上;-) –
fputcsv $ field参数必须是数组。尝试将$ email_f放入数组中 –