1and1上的php电子邮件表单

时间:2014-08-28 17:14:45

标签: php email

我正在尝试将名称字段与电子邮件字段组合在一起,以便将电子邮件发送到:

发件人:填写表格的姓名(email_address.com)

目标:( 电子邮件来自)将包含此人的姓名和电子邮件。

我正在使用1and1的mail.php函数,但没有关于如何执行此操作的说明。

这甚至可能吗?

这是我的代码:

<?php

echo '<link href="new/css/style.css" rel="stylesheet">';

// THE BELOW LINE STATES THAT IF THE SUBMIT BUTTON
// WAS PUSHED, EXECUTE THE PHP CODE BELOW TO SEND THE 
// MAIL. IF THE BUTTON WAS NOT PRESSED, SKIP TO THE CODE
// BELOW THE "else" STATEMENT (WHICH SHOWS THE FORM INSTEAD).
if ( isset ( $_POST [ 'buttonPressed' ] )){

// REPLACE THE LINE BELOW WITH YOUR E-MAIL ADDRESS.
$to = 'myemail.com' ;
$subject = 'From PHP contact page' ;

// NOT SUGGESTED TO CHANGE THESE VALUES
$message = $_POST [ "message" ] ;
$headers = 'From: ' . $_POST[ "from" ] . PHP_EOL ;
$name = $_POST['name'];
mail ( $to, $subject, $message, $headers ) ;

// THE TEXT IN QUOTES BELOW IS WHAT WILL BE 
// DISPLAYED TO USERS AFTER SUBMITTING THE FORM.

echo '<div id="msg_sent"> Your e-mail has been sent. You should receive a reply within a week. </div>';}

?>

谢谢你,如果你知道的话!

1 个答案:

答案 0 :(得分:1)

  

&#34;我正在使用1and1的mail.php功能,但没有关于如何执行此操作的说明。
  这甚至可能吗?&#34;

是的,这是可能的。

添加电子邮件表单元素<input type="text" name="email">如果您还没有,请执行以下操作:

$email   = $_POST['email'];
$name    = $_POST['name'];
$headers = "From: ". $name . " <" . $email . ">\r\n";
如果From只是一个名字,而不是包含电子邮件地址,

邮件就会转到垃圾邮件。

您还应该使用FILTER_VALIDATE_EMAIL作为电子邮件变量,以便对其进行验证。

即:

if(!filter_var($email, FILTER_VALIDATE_EMAIL))
  {
  echo "E-mail is not valid.";
  }

<强> 旁注:
Rocket的评论对PHP_EOL有意义,这就是为什么我的例子包含\r\n