我在这个问题上花了两天多时间,包括这个社区。仍然无法弄清楚问题的原因是什么。
1)我的表格第一行定义:
<form id="main-contact-form" name="contact-form" method="post" action="/mail/sendemail.php">
所有输入元素都定义了“名称”参数。
2)我将 sendemail.php 文件权限更改为 755 。
3)我的htaccess文件不包含RewriteEngine标志,如下所示:
IndexIgnore .htaccess .htpasswd */.??* *~ *# */HEADER* */README* */_vti*
DirectoryIndex index.html
AddHandler php5.5-fastcgi php
实际上 - 我从我的其他网站复制了这个htaccess文件,其中不同的电子邮件格式运作良好。
4)我试图多次修改sendemail.php。
我排除了任何验证功能,如空,修剪等 - 尝试过简单:$from = $_POST['email'] - no additional validation
- 仍然无效。
5)sendemail.php:
$name = @trim(stripslashes($_POST['name']));
$from = @trim(stripslashes($_POST['email']));
$subject = @trim(stripslashes($_POST['subject']));
$message = @trim(stripslashes($_POST['message']));
$to = 'changed@changed.com';
$headers = 'MIME-Version: 1.0'. "\r\n".
'Content-type: text/plain; charset=iso-8859-1'."\r\n".
'From: '.$name."\r\n".
'Reply-To: '.$from."\r\n".
'Subject: '.$subject."\r\n".
'X-Mailer: PHP/'.phpversion();
mail($to, $subject, $message, $headers);
die;
6)邮件正在发送但没有发件人,主题和留言 - 这些值都是空的。
7)这是一个简单的单页网站,其中包含联系表格,只有这一个php脚本。
在大多数文章中,我可以读到RewriteEngine通常负责此错误 - 但我使用绝对路径/mail/sendemail.php
并且我的htaccess文件中没有定义RewriteEngine标志。
更新。的
8.在原始的sendemail.php脚本中有一个数组变量用于创建$ headers - 但是 - 在我的服务器日志中有一个信息,该数组(类型)不能用作邮件功能中的第4个参数。我决定以不同的方式创建$ header,如上所述。也许这个数组应该转换为可以作为邮件功能中的第4个参数接受的东西?
$headers = array();
$headers[] = "MIME-Version: 1.0";
$headers[] = "Content-type: text/plain; charset=iso-8859-1";
$headers[] = "From: {$name} <{$from}>";
$headers[] = "Reply-To: <{$from}>";
$headers[] = "Subject: {$subject}";
$headers[] = "X-Mailer: PHP/".phpversion();
答案 0 :(得分:0)
尝试:
$headers = "MIME-Version: 1.0\n".
"Content-Type: text/plain; charset=\"iso-8859-1\"\n".
"From: $name\n".
"Reply-To: $from\n".
"Subject: $subject\n";
答案 1 :(得分:0)
最终有效的代码:
Sub Macro7()
Dim ws As Worksheet
Dim lastRow As Integer
Dim summaryRow As Integer
summaryRow = 1
For Each ws In ActiveWorkbook.Worksheets
'Copy item number and paste on Summary Page'
Range("A2").Copy
Sheets("Summary").Range("A" & summaryRow).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'Copy corresponding BOM item # and paste on Summary Page'
lastRow = ws.Cells(Rows.Count, "L").End(xlUp).Row
Application.CutCopyMode = False
ws.Range("L" & lastRow).copy
Sheets("Summary").Range("B" & summaryRow).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
summaryRow = summaryRow + 1
Next ws
End Sub
感谢您提出的所有建议。