2

在我的网站上,我有一个联系表,用户可以在其中报告错误或提交功能请求。该表单包含主题消息

我希望表单直接通过电子邮件发送给我,可以使用 PHPMailer 或 PHP 的内置邮件功能。

这里的问题是在生成电子邮件时,发件人必须是我拥有的地址,而不是实际用户的电子邮件地址。原因很明显,因为我们不应该被允许冒充其他人。但是,我希望能够直接从我的收件箱给我的用户发电子邮件,但我不能这样做,因为我不能使用他们的地址在脚本中给自己发电子邮件。

那么构建联系表格的最佳方法是什么?我能想到的唯一解决方法是将消息 + 发件人地址插入数据库,然后从那里手动读取......这是一个史诗般的麻烦。

我将不胜感激任何建议。

4

3 回答 3

3

设置Reply-To电子邮件标题,这样您将得到如下内容:

<?php
$headers = 'From: you@example.com' . "\r\n";
// Set the sender address as Reply-to below
$headers .= 'Reply-To: sender@example.com' . "\r\n";

mail('you@example.com', 'Subject here', 'The message goes here', $headers);
?>

这样您将成为发件人,但是当您点击邮件客户端中的回复按钮时,它将默认回复到Reply-To标题中列出的地址。

于 2012-12-02T11:38:21.653 回答
0

您可以使用下面的代码从您拥有的地址接收电子邮件,但当您回复时,它会转到用户的电子邮件

<?php
$to      = 'youremail@yourdomain.com';
$subject = 'the subject';
$message = 'message';
$headers = 'From: youremail@yourdomain.com' . "\r\n" .
'Reply-To: user@useremail.com' . "\r\n" .
mail($to, $subject, $message, $headers);
?>
于 2012-12-02T11:43:42.463 回答
0

为什么中心必须是您拥有的地址?

SMTP 不会禁止您提供用户作为发件人提供的电子邮件。只要 SMTP 服务器允许您从中中继,它就会为发件人和收件人取任何值。

另一种选择是创建发件人电子邮件 (contact-form@yourdomain.com) 并将回复字段设置为用户的电子邮件地址。

于 2012-12-02T11:37:59.657 回答