Я пытаюсь создать форму обратной связи html и php, и я получаю электронное письмо, которое выглядит так:
New contact form submission From:,, Email:,@email, ,,
Мой html:
<form method="POST" action="contactform.php"> Name:<br/> <input type="text" name="name" /> <br/><br/> EMail:<br/> <input type="text" name="email" /> <br/><br/> Message: <br/> <textarea name"message" rows="10" cols="50" /> </textarea><br/> <input type="submit" value="submit" /> </form>
Мой php:
<?php //converting veriables $name = $_POST['name']; $email = $_POST['email']; $message = $_POST['message']; $recipient = 'nicholasparry@me.com'; $subject="Contact Form"; //creating message $content = "New contact form submission \n From:,$name, \n Email:,@email, \n ,$message,"; //sending message mail($recipient, $message, $content); ?>
Может ли кто-нибудь помочь мне с тем, что не так?
Это:
$content = "New contact form submission \n From: ".$name.",\n Email: ".$email.", \n Message: ".$message;
а также
<textarea name="message" rows="10" cols="50"></textarea>
Начните использовать Swiftmailer или PhpMailer , ваша жизнь будет проще …
Пример Swiftmailer:
require_once 'lib/swift_required.php'; $transport = Swift_MailTransport::newInstance(); $mailer = Swift_Mailer::newInstance($transport); $message = Swift_Message::newInstance('Wonderful Subject') ->setFrom(array('john@doe.com' => 'John Doe')) ->setTo(array('receiver@domain.org', 'other@domain.org' => 'A name')) ->setBody('Here is the message itself'); $mailer->send($message);
Пример PhpMailer:
$mail = new PHPMailer(); // defaults to using php "mail()" $mail->SetFrom('name@yourdomain.com', 'First Last'); $mail->AddReplyTo("name@yourdomain.com","First Last"); $mail->AddAddress("whoto@otherdomain.com", "John Doe"); $mail->Subject = "PHPMailer Test Subject via mail(), basic"; $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test $mail->MsgHTML($body); $mail->AddAttachment("images/phpmailer.gif"); // attachment $mail->AddAttachment("images/phpmailer_mini.gif"); // attachment if(!$mail->Send()) { echo "Mailer Error: " . $mail->ErrorInfo; } else { echo "Message sent!"; }
Я предпочитаю Swiftmailer, но вы выбираете лучший выбор 😉
Оберните имена переменных в фигурные скобки. Например: «From:, {$ name}»,