我正在尝试使用 NMS FormMail.pl 为我的网站设置一个简单的表单邮件脚本。无论我做什么,它都会给我一个错误说:
错误:错误或缺少收件人
发送到 FormMail 的数据中没有指定收件人或指定的收件人无效。请确保您已使用在@recipients 或@allow_mail_to 中配置的电子邮件地址填写收件人表单字段。有关填写收件人/allow_mail_to 表单字段和变量的更多信息可以在 README 文件中找到。
问题是,我无数次确保表单上的收件人字段与脚本的@allow_mail_to 部分中的收件人字段完全相同。我尝试获取最新版本的脚本,将电子邮件地址从表单复制粘贴到脚本,反之亦然,将 \'s 放在 @ 和 . 在电子邮件中取出它们,甚至取出表单上的收件人字段(当我这样做时,尽管自述文件说它只会发送给@allow_mail_to字段中的第一个人,但它仍然给我错误。
以下是我为脚本以及表单标签所做的配置:
BEGIN
{
$DEBUGGING = 1;
$emulate_matts_code= 0;
$secure = 1;
$allow_empty_ref = 1;
$max_recipients = 1;
$mailprog = '/usr/sbin/sendmail -oi -t';
$postmaster = '';
@referers = qw(--.com);
@allow_mail_to = qw(steven@--.com --.com localhost);
@recipients = ();
%recipient_alias = ();
@valid_ENV = qw(REMOTE_HOST REMOTE_ADDR REMOTE_USER HTTP_USER_AGENT);
$locale = '';
$charset = 'iso-8859-1';
$date_fmt = '%A, %B %d, %Y at %H:%M:%S';
$style = '/css/nms.css';
$no_content = 0;
$double_spacing = 1;
$wrap_text = 0;
$wrap_style = 1;
$address_style = 1;
$send_confirmation_mail = 0;
$confirmation_text = <<'END_OF_CONFIRMATION';
From: you@your.com
Subject: form submission
Thank you for your form submission.
END_OF_CONFIRMATION
# You may need to uncomment the line below and adjust the path.
# use lib './lib';
# USER CUSTOMISATION SECTION
# --------------------------
# Place any custom code here
# USER CUSTOMISATION << END >>
# ----------------------------
# (no user serviceable parts beyond here)
}
收件人表单字段:
<input name="recipient" type="hidden" id="recipient" value="steven@--.com">
如果有帮助,我使用 Dreamweaver CS6 创建站点,包括表单。我用记事本修改了FormMail.pl。运行它的服务器是 Apache。