2013-09-11 2 views
1

Как вставить адрес электронной почты переменной формы в функцию PHP mail()?Как вставить переменную с адреса электронной почты в mail()?

$form_data =array(); 
$form_data['firstName'] = 'Joe'; 
$form_data['surname'] = 'Do'; 
$form_data['email'] = '[email protected]'; 
print "From: ".$form_data['firstName']." ".$form_data['surname']." <".$form_data['email'].">\n"; 

Когда я обернуть <> вокруг, то адрес электронной почты не отображается Я попытался

print "<{$form_data['email']}>"; 
print '<'.$form_data['email'].'>'; 

Но я не знаю, как решить эту

Полный код (с помощью Wordpres функция wp_mail());

 //Send mail 
$recipients[] = get_bloginfo('admin_email'); 
$email_subject = "Contactform - ". get_bloginfo('name'); 
$email_message = $tpl;  
$headers[] = "From: ".$form_data['firstName']." ".$form_data['surname']." &lt;".$form_data['email']."&gt;\n";  
$headers[] = "Content-Type: text/html\n"; 
$send = wp_mail($recipients, $email_subject, $email_message, $headers);  
+0

- это сообщение отображается, если вы не добавили < >? –

+0

Нет адреса электронной почты не отображается при использовании <> – user1073323

+0

Не могли бы вы разместить весь свой код для функции mail(), чтобы мы могли видеть, где вы вставляете эти значения? Код, который вы указали до сих пор, просто выводит строку в HTML, которая отличается от использования в заголовке электронной почты. – Matt

ответ

0

Попробуйте заменить < и > с HTML экранированные символы, как так:

print "From: ".$form_data['firstName']." ".$form_data['surname']." &lt;".$form_data['email']."&gt;\n"; 

< = &lt; и > = &gt;

+0

Вопрос не запрашивал правильного заголовка электронной почты, он спросил, почему адрес электронной почты не отображается в его команде 'print'. – Matt

+0

Оба метода дают мне неизвестный отправитель $ headers. = "From: {$ form_data ['firstName']} {$ form_data ['surname']}" .htmlspecialchars ("<". $ Form_data ['email'] . ">") "\ г \ п."; $ headers. = "From: {$ form_data ['firstName']} {$ form_data ['surname']} < {$ form_data ['email']} > \ r \ n"; $ headers. = "From:". $ Form_data ['firstName']. "". $ Form_data ['surname']. "<". $ Form_data ['email']. "> \ n"; – user1073323

0

использование htmlspecialchars() если вы хотите, чтобы отобразить его:

print "From: ".$form_data['firstName']." ".$form_data['surname']." ".htmlspecialchars("<{$form_data['email']}>"); 
Смежные вопросы