PHP 邮件形式:用户插入他的电子邮件 -> 电子邮件地址应该是发件人以便于回复
PHP mail form: user inserts his email -> email address should be the sender for easy reply
用户在表单中输入他的电子邮件地址的以下代码需要更改什么。在我收到的邮件中,用户的电子邮件应该自动成为发件人 - 这样我就可以轻松回复。
感谢和问候
<?php
$zieladresse = 'IhrName@EXAMPLE.com';
$absenderadresse = 'ihrAndererName@EXAMPLE.com';
// Welcher Absendername soll verwendet werden?
$absendername = 'Formmailer';
$betreff = 'Feedback';
$urlDankeSeite = 'http://www.EXAMPLE.com/IhrName/IhreSeite.htm';
$trenner = ":\t"; // Doppelpunkt + Tabulator
require_once "Swift-4.0.7/lib/swift_required.php"; // Swift initialisieren
if ($_SERVER['REQUEST_METHOD'] === "POST") {
$message = Swift_Message::newInstance(); // Ein Objekt für die Mailnachricht.
$message
->setFrom(array($absenderadresse => $absendername))
->setTo(array($zieladresse)) // alternativ existiert setCc() und setBcc()
->setSubject($betreff);
$mailtext = "";
foreach ($_POST as $name => $wert) {
if (is_array($wert)) {
foreach ($wert as $einzelwert) {
$mailtext .= $name.$trenner.$einzelwert."\n";
}
} else {
$mailtext .= $name.$trenner.$wert."\n";
}
}
$message->setBody($mailtext, 'text/plain');
$mailer = Swift_Mailer::newInstance(Swift_MailTransport::newInstance());
$result = $mailer->send($message);
if ($result == 0) {
die("Mail konnte nicht versandt werden.");
}
header("Location: $urlDankeSeite");
exit;
}
header("Content-type: text/html; charset=utf-8");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
<head>
<title>Einfacher PHP-Formmailer</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<h1>Beispielformular</h1>
<form action="" method="post">
<!-- Hier die eigentlichen Formularfelder eintragen. Die folgenden sind Beispielangaben. -->
<dl>
<dt>Ihr Name:</dt>
<dd><input type="text" name="Versender" /></dd>
<dt>Ihre E-Mail:</dt>
<dd><input type="text" name="E-Mail" /></dd>
<dt>Sie können:</dt>
<dd><input type="checkbox" name="kannwas[]" value="HTML" />HTML <input type="checkbox" name="kannwas[]" value="PHP" />PHP</dd>
<dt>Sie sind:</dt>
<dd><input type="radio" name="sexus" value="M" />Mann <input type="radio" name="sexus" value="Frau" />Frau</dd>
<dt>Sie mögen:</dt>
<dd><select name="Browser"><option value="Opera">Opera</option><option value="Mozilla">Mozilla</option></select></dd>
<dt>Bemerkungen:</dt>
<dd><textarea name="Bemerkungen" rows="3" cols="20">Bemerkungen</textarea></dd>
</dl>
<!-- Ende der Beispielangaben -->
<p>
<input type="submit" value="Senden" />
<input type="reset" value="Zurücksetzen" />
</p>
</form>
</body>
</html>
下面的代码呢,也可以,好像不太复杂。这里要修改什么才能让发件人的邮箱自动显示在邮件程序中作为发件人以便快速回复?
html/php:
<form method="post" action="Untitled-6.php">
<label>Name*</label>
<input name="name" placeholder="Type Here">
<label>Email*</label>
<input name="email" type="email" placeholder="Type Here">
<label>Message</label>
<textarea name="message" placeholder="Type Here"></textarea>
<label>*What is 2+2? (Anti-spam)</label>
<input name="human" placeholder="Type Here">
<input id="submit" name="submit" type="submit" value="Submit">
</form>
php:
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$from = 'From: TangledDemo';
$to = 'ceyca82@gmail.com';
$subject = 'Hello';
$human = $_POST['human'];
$body = "From: $name\n E-Mail: $email\n Message:\n $message";
if ($_POST['submit'] && $human == '4') {
if (mail ($to, $subject, $body, $from)) {
echo '<p>Your message has been sent!</p>';
} else {
echo '<p>Something went wrong, go back and try again!</p>';
}
} else if ($_POST['submit'] && $human != '4') {
echo '<p>You answered the anti-spam question incorrectly!</p>';
}
?>
$absenderadresse = $_POST["E-Mail"];
但是这里有几个问题:
1) 你不应该post这种堆栈溢出的问题(https://whosebug.com/tour)
2) 那里有很多表单处理教程。 (至少阅读一篇)
3) 该变量... "E-Mail"... 您应该考虑将其命名为 "email"(按照惯例)
用户在表单中输入他的电子邮件地址的以下代码需要更改什么。在我收到的邮件中,用户的电子邮件应该自动成为发件人 - 这样我就可以轻松回复。 感谢和问候
<?php
$zieladresse = 'IhrName@EXAMPLE.com';
$absenderadresse = 'ihrAndererName@EXAMPLE.com';
// Welcher Absendername soll verwendet werden?
$absendername = 'Formmailer';
$betreff = 'Feedback';
$urlDankeSeite = 'http://www.EXAMPLE.com/IhrName/IhreSeite.htm';
$trenner = ":\t"; // Doppelpunkt + Tabulator
require_once "Swift-4.0.7/lib/swift_required.php"; // Swift initialisieren
if ($_SERVER['REQUEST_METHOD'] === "POST") {
$message = Swift_Message::newInstance(); // Ein Objekt für die Mailnachricht.
$message
->setFrom(array($absenderadresse => $absendername))
->setTo(array($zieladresse)) // alternativ existiert setCc() und setBcc()
->setSubject($betreff);
$mailtext = "";
foreach ($_POST as $name => $wert) {
if (is_array($wert)) {
foreach ($wert as $einzelwert) {
$mailtext .= $name.$trenner.$einzelwert."\n";
}
} else {
$mailtext .= $name.$trenner.$wert."\n";
}
}
$message->setBody($mailtext, 'text/plain');
$mailer = Swift_Mailer::newInstance(Swift_MailTransport::newInstance());
$result = $mailer->send($message);
if ($result == 0) {
die("Mail konnte nicht versandt werden.");
}
header("Location: $urlDankeSeite");
exit;
}
header("Content-type: text/html; charset=utf-8");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
<head>
<title>Einfacher PHP-Formmailer</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<h1>Beispielformular</h1>
<form action="" method="post">
<!-- Hier die eigentlichen Formularfelder eintragen. Die folgenden sind Beispielangaben. -->
<dl>
<dt>Ihr Name:</dt>
<dd><input type="text" name="Versender" /></dd>
<dt>Ihre E-Mail:</dt>
<dd><input type="text" name="E-Mail" /></dd>
<dt>Sie können:</dt>
<dd><input type="checkbox" name="kannwas[]" value="HTML" />HTML <input type="checkbox" name="kannwas[]" value="PHP" />PHP</dd>
<dt>Sie sind:</dt>
<dd><input type="radio" name="sexus" value="M" />Mann <input type="radio" name="sexus" value="Frau" />Frau</dd>
<dt>Sie mögen:</dt>
<dd><select name="Browser"><option value="Opera">Opera</option><option value="Mozilla">Mozilla</option></select></dd>
<dt>Bemerkungen:</dt>
<dd><textarea name="Bemerkungen" rows="3" cols="20">Bemerkungen</textarea></dd>
</dl>
<!-- Ende der Beispielangaben -->
<p>
<input type="submit" value="Senden" />
<input type="reset" value="Zurücksetzen" />
</p>
</form>
</body>
</html>
下面的代码呢,也可以,好像不太复杂。这里要修改什么才能让发件人的邮箱自动显示在邮件程序中作为发件人以便快速回复?
html/php:
<form method="post" action="Untitled-6.php">
<label>Name*</label>
<input name="name" placeholder="Type Here">
<label>Email*</label>
<input name="email" type="email" placeholder="Type Here">
<label>Message</label>
<textarea name="message" placeholder="Type Here"></textarea>
<label>*What is 2+2? (Anti-spam)</label>
<input name="human" placeholder="Type Here">
<input id="submit" name="submit" type="submit" value="Submit">
</form>
php:
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$from = 'From: TangledDemo';
$to = 'ceyca82@gmail.com';
$subject = 'Hello';
$human = $_POST['human'];
$body = "From: $name\n E-Mail: $email\n Message:\n $message";
if ($_POST['submit'] && $human == '4') {
if (mail ($to, $subject, $body, $from)) {
echo '<p>Your message has been sent!</p>';
} else {
echo '<p>Something went wrong, go back and try again!</p>';
}
} else if ($_POST['submit'] && $human != '4') {
echo '<p>You answered the anti-spam question incorrectly!</p>';
}
?>
$absenderadresse = $_POST["E-Mail"];
但是这里有几个问题:
1) 你不应该post这种堆栈溢出的问题(https://whosebug.com/tour)
2) 那里有很多表单处理教程。 (至少阅读一篇)
3) 该变量... "E-Mail"... 您应该考虑将其命名为 "email"(按照惯例)