PHP форма электронной почты CC - PullRequest
1 голос
/ 13 февраля 2011

У меня есть очень простая контактная форма на моем сайте, я ищу пользователей, чтобы иметь возможность просто поставить галочку рядом с "CC:", чтобы она CC их, не создавая совершенно новое поле, которое они должны заполнить снова.

Вот HTML:

<form action="send.php" method="post" name="form1">
Name: <input name="name" size="35"><br/>
E-mail:<input name="email" size="35"><br/>
CC: <input input type="checkbox" name="mailcc"><br/>
Comment: <textarea cols="35" name="comment" rows="5"></textarea> <br />
<input name="Submit" type="submit" value="Submit">
</form>

А вот и PHP:

<?php
$name = $_REQUEST['name'] ;
$email = $_REQUEST['email'] ;
$comment = $_REQUEST['comment'] ;

mail( "me@me.com", "Message Title",  "Name:  $name\n Email:  $email\n Comments: $comment\n " );

echo "Message Sent! Thanks!"

?>

Я пытался добавить некоторые элементы с этого сайта:

http://w3mentor.com/learn/php-mysql-tutorials/php-email/send-email-with-cccarbon-copy-bccblind-carbon-copy/

Но он хочет создать текстовое поле для CC, что означает, что пользователь должен будет ввести свой адрес электронной почты дважды.

Я также пытался $mailheader.= "Cc: " . $email ."\n";, но я не могу заставить это работать.

Ответы [ 2 ]

2 голосов
/ 13 февраля 2011
  1. Сделать так, чтобы флажок имел значение (value="1") в HTML.
  2. Добавить переменную ($mailheader) в конец функции mail() в качестве последнего параметра.

Так по сути:

$name = $_POST['name'] ;
$email = $_POST['email'] ;
$comment = $_POST['comment'] ;

if ($_POST['mailcc'] == 1) {
    $mailheader .= "CC: $name <$email>";
}

mail("me@me.com", "Message Title", "Name:  $name\n Email:  $email\n Comments: $comment\n ", $mailheader);

echo "Message Sent! Thanks!";
0 голосов
/ 13 февраля 2011

Является ли проверяемый адрес Cc тем же, что и адрес "to" (me@me.com в вашем примере)?

Я провел быструю проверку и с этим кодом я получил только одно письмо:

<?php
$to = "my@address.com";
$subject = "Testing";
$message = "Testing message";
$headers = "Cc: my@address.com";

mail($to, $subject, $message, $headers);

Но с этим я получаю копию на другую учетную запись электронной почты:

<?php
$to = "my@address.com";
$subject = "Testing";
$message = "Testing message";
$headers = "Cc: my@otheraddress.com";

mail($to, $subject, $message, $headers);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...