簡體   English   中英

用戶訪問我的網站時為什么會收到電子郵件通知?

[英]Why am I getting an email notification when users go to my site?

我正在開發一個網站,並且在測試中注意到,轉到URL時會收到一封電子郵件ping。 基本上返回的是空白通知。

在此處輸入圖片說明

我懷疑這與我在“操作”字段中輸入的內容有關嗎?

<form id="frmContact" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">

我也在html聲明標簽上方輸入了php腳本...

<?php

$to = "17antonio.ortiz@gmail.com"; 
$from = $_REQUEST['email']; 
$name = $_REQUEST['name']; 
$headers = "From: $from"; 
$subject = "You have a message sent from your site"; 

$fields = array(); 
$fields{"name"} = "name"; 
$fields{"email"} = "email"; 
$fields{"comments"} = "comments";

$body = "Here is what was sent:\n\n"; foreach($fields as $a => $b){   $body .= sprintf("%20s: %s\n",$b,$_REQUEST[$a]); }

$send = mail($to, $subject, $body, $headers);
?>


<!DOCTYPE html>

任何見識將不勝感激!

PS有反正使電子郵件中的文本向左對齊嗎? :)看起來有點有趣居中!

因為您的腳本是在每次請求頁面時執行的。 您要做的是設置某種條件。 例如,您應該檢查是否對此頁面發出了POST請求,然后才執行PHP代碼(這是如果您通過POST提交表單數據)。 在這里查看示例。

每次加載頁面時都會執行php代碼。 您可能想要的是僅在表單發布后才運行php代碼:

if ($_SERVER['REQUEST_METHOD'] == "POST")
{
  // paste all your php code to send the email here
}

您應該先檢查表單是否已發布或您自己。 您可以通過檢查是否設置了任何表單字段來檢查它

<?php
if(isset($_REQUEST['email']))
{
    $to = "17antonio.ortiz@gmail.com"; 
    $from = $_REQUEST['email']; 
    $name = $_REQUEST['name']; 
    $headers = "From: $from"; 
    $subject = "You have a message sent from your site"; 
    $fields = array(); 
    $fields{"name"} = "name"; 
    $fields{"email"} = "email"; 
    $fields{"comments"} = "comments";

    $body = "Here is what was sent:\n\n"; foreach($fields as $a => $b){   $body .=                 sprintf("%20s: %s\n",$b,$_REQUEST[$a]); }

    $send = mail($to, $subject, $body, $headers);
}
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM