php邮件脚本的语法错误
我有一份工作联系表。我试图将其转换为只发送一个不同形式的电子邮件地址,以允许人们订阅邮件列表。我不太懂php。我正在使用codev,在语法中没有看到错误 这是我用于contact.php表单的代码:php邮件脚本的语法错误,php,email,Php,Email,我有一份工作联系表。我试图将其转换为只发送一个不同形式的电子邮件地址,以允许人们订阅邮件列表。我不太懂php。我正在使用codev,在语法中没有看到错误 这是我用于contact.php表单的代码: <?php $params = array( 'to' => 'mail@mail.com', 'from' => '<mail@mail.com>' ); $name = trim( $_POST['name'] ); $email = tri
<?php
$params = array(
'to' => 'mail@mail.com',
'from' => '<mail@mail.com>'
);
$name = trim( $_POST['name'] );
$email = trim( $_POST['email'] );
$subject = trim( $_POST['subject'] );
$message = trim( $_POST['message'] );
if ( empty( $name ) or empty( $message ) ) {
echo json_encode( array( 'status' => 'error' ) );
} else if ( empty( $email ) or ! filter_var( $email, FILTER_VALIDATE_EMAIL ) ) {
echo json_encode( array( 'status' => 'email' ) );
} else {
$headers = 'From: ' . $name . ' ' . $params['from'] . "\r\n" .
'Reply-To: ' . $email . "\r\n" .
'X-Mailer: PHP/' . phpversion( );
$message = str_replace( array( "\r", "\n" ), array( '', "\r\n" ), $message );
if ( mail( $params['to'], ( empty( $subject ) ? 'New message without subject' : 'New message: ' . $subject ), $message, $headers ) ) {
echo json_encode( array( 'status' => 'ok' ) );
} else {
echo json_encode( array( 'status' => 'error' ) );
}
}
?>
这是我试图制作的新代码,用于在某人订阅时向我发送电子邮件:
<?php
$params = ["to" => "recieve@wuno.com", "from" => "noreply@wuno.com"];
$subject = "New Subscription";
$message = trim($_POST["subscribe"]);
if (empty($message) || !filter_var($message, FILTER_VALIDATE_EMAIL)) {
echo json_encode(["status" => "email"]);
} else {
$headers = "From: {$params[from]}\r\n";
$headers .= "Reply-To: {$message}\r\n";
$headers .= "X-Mailer: PHP".phpversion()."\r\n";
$message = str_replace(["\r","\n"], ["", "\r\n"], $message);
if(mail($params["to"], $subject, $message, $headers)) {
echo json_encode(["status" => "ok"]);
} else {
echo json_encode(["status" => "error"]);
}
}
?>
是的,有
bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )
请仔细看看这里:
$email\u message=您愿意发送的任何消息…是的,有
bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )
$params = ["to" => "nichodiaz@gmail.com", "from" => "noreply@wuno.com"];
$subject = "New Suscription";
$message = trim($_POST["subscribe"]);
$subscribe = "???";
if (empty($subscribe) || !filter_var($subscribe, FILTER_VALIDATE_EMAIL)) {
echo json_encode(["status" => "email"]);
} else {
$headers = "From: {$params[from]}\r\n";
$headers .= "Reply-To: {$message}\r\n";
$headers .= "X-Mailer: PHP".phpversion()."\r\n";
$message = str_replace(["\r","\n"], ["", "\r\n"], $message);
if(mail($params["to"], $subject, $message, $headers)) {
echo json_encode(["status" => "ok"]);
} else {
echo json_encode(["status" => "error"]);
}
}
请仔细看看这里:
$email\u message=您愿意发送的任何消息
$params = ["to" => "nichodiaz@gmail.com", "from" => "noreply@wuno.com"];
$subject = "New Suscription";
$message = trim($_POST["subscribe"]);
$subscribe = "???";
if (empty($subscribe) || !filter_var($subscribe, FILTER_VALIDATE_EMAIL)) {
echo json_encode(["status" => "email"]);
} else {
$headers = "From: {$params[from]}\r\n";
$headers .= "Reply-To: {$message}\r\n";
$headers .= "X-Mailer: PHP".phpversion()."\r\n";
$message = str_replace(["\r","\n"], ["", "\r\n"], $message);
if(mail($params["to"], $subject, $message, $headers)) {
echo json_encode(["status" => "ok"]);
} else {
echo json_encode(["status" => "error"]);
}
}
这完全基于您的代码。然而,我无法理解一些变量的位置,比如$subscribe实际上是未定义的,而$message从$u POST[subscribe]获取其值,应该是另一种方式,不是吗
我希望您的$message var上的格式保持不变,因为我认为它肯定还有其他用途。但是为什么邮件头中的回复地址是由$message变量填充的呢。。。我放弃
这完全基于您的代码。然而,我无法理解一些变量的位置,比如$subscribe实际上是未定义的,而$message从$u POST[subscribe]获取其值,应该是另一种方式,不是吗
我希望您的$message var上的格式保持不变,因为我认为它肯定还有其他用途。但是为什么邮件头中的回复地址是由$message变量填充的呢。。。我放弃 有些变量实际上是常量,因此可以预先定义,基本上是为了可读性,尽管可以硬编码
<?php
$to='tomail@mail.com';
$from='noreply@mail.com';
$subject='New Subscription';
$message=trim($_POST['subscribe']);
if(!filter_var($message,FILTER_VALIDATE_EMAIL)){
echo json_encode(["status" => "email"]);
}else{
$headers="From: $from\r\nReply-To: $message\r\nX-Mailer: PHP".phpversion()."\r\n";
$message=str_replace(["\r","\n"], ["", "\r\n"], $message);
if(mail($to,$subject,$message,$headers)){
echo json_encode(["status" => "ok"]);
}else{
echo json_encode(["status" => "error"]);
}}
?>
有些变量实际上是常量,因此可以预先定义,基本上是为了易读,尽管可以硬编码
<?php
$to='tomail@mail.com';
$from='noreply@mail.com';
$subject='New Subscription';
$message=trim($_POST['subscribe']);
if(!filter_var($message,FILTER_VALIDATE_EMAIL)){
echo json_encode(["status" => "email"]);
}else{
$headers="From: $from\r\nReply-To: $message\r\nX-Mailer: PHP".phpversion()."\r\n";
$message=str_replace(["\r","\n"], ["", "\r\n"], $message);
if(mail($to,$subject,$message,$headers)){
echo json_encode(["status" => "ok"]);
}else{
echo json_encode(["status" => "error"]);
}}
?>
我用我的时间工作server@tchow002没关系,这是一个语法错误。标题“X-Mailer:PHP/”。phpversion;在代码中重复,但我认为这不会导致您描述的问题。回复也应该是一个电子邮件地址。您具体收到了什么错误?我没有具体测试过,但你的空$subject吗?”新订户“:“新邮件:”$主题返回预期结果?这就是问题所在。它不归还任何东西。它提交的罚款,并没有显示到清楚,表单字段是张贴名称=订阅我想在电子邮件中得到它,并发送给我自己。代码的其余部分是我使用的代码,这些代码来自我发送联系人表单的工作脚本。我会用我从sidsters代码中合并的内容再次更新我的代码。谢谢你帮我完成我的工作server@tchow002没关系,这是一个语法错误。标题“X-Mailer:PHP/”。phpversion;在代码中重复,但我认为这不会导致您描述的问题。回复也应该是一个电子邮件地址。您具体收到了什么错误?我没有具体测试过,但你的空$subject吗?”新订户“:“新邮件:”$主题返回预期结果?这就是问题所在。它不归还任何东西。它提交的罚款,并没有显示到清楚,表单字段是张贴名称=订阅我想在电子邮件中得到它,并发送给我自己。代码的其余部分是我使用的代码,这些代码来自我发送联系人表单的工作脚本。我会用我从sidsters代码中合并的内容再次更新我的代码。谢谢你帮助我