2016-06-15 40 views
-1

我已經創建了一個html表單,用戶點擊「發送」重定向到mail.php,其中包含php郵件功能,它可以工作併發送所需的郵件。 有沒有任何方法可以添加一個默認的消息,例如「這是從網站發送」到電子郵件?如何添加一個默認的郵件與PHP郵件功能?

來自晶的index.html

<form method="post" action="mail.php"> 
      <div class="form-style"> 
       <h1 class="formh1">Full Name</h1> 
    <input type="text" id="name" name="name" placeholder="Full name" required> 
       <h1 class="formh1">Email address</h1> 
    <input type="email" id="email" name="email" placeholder="Email address" required> 
       <h1 class="formh1">Message</h1> 
    <textarea rows="4" cols="50" id="message" name="message" placeholder="Give us your thought" required></textarea> 
      <div class="button-form"> 
      <input type="submit" name="send" value="Send" /> 
      </div> 
     </div> 
    </form> 

Mail.php

<?php 

    if (isset($_POST['send'])) { 
    $from = 'myemail'; // Use your own email address 
    $subject = 'The following message was sent from the website'; 
    $message = 'Fullname: ' . $_POST['name'] . "\r\n\r\n"; 
    $message .= 'Email address: ' . $_POST['email'] . "\r\n\r\n"; 
    $message .= 'Message: ' . $_POST['message']; 
    $name = trim(filter_input(INPUT_POST,"name",FILTER_SANITIZE_STRING)); 
    $email = trim(filter_input(INPUT_POST,"email",FILTER_SANITIZE_EMAIL)); 
    $details = trim(filter_input(INPUT_POST,"message",FILTER_SANITIZE_SPECIAL_CHARS)); 
    $email = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL); 
    header('Location: index.html'); 

    if ($email) { 
    $headers .= "\r\nReply-To: $email"; 
    } 
    $headers = "From: ".$_POST['email']."\r\n"; 
    $headers .= 'Content-Type: text/plain; charset=utf-8'; 
    $success = mail($from, $subject, $message, $headers); 
    } 

>

+1

您可以添加任何你想要的電子郵件的身體('$ message') - 它只是一個字符串 –

+1

嗯...'$消息=「此電子郵件從網站發送';'? *聳聳肩* –

+0

好吧,我用這個$ message。='你好';但不顯示它在電子郵件 –

回答

1

只需添加默認的電子郵件您想發送到$message變量:

$message = 'This is my default message lalalalalal' 
+0

謝謝它的工作,但由於某種原因,如果我把$ message ='這是我的默認消息lalalalalal';在$ message ='Fullname:'之前。 $ _POST ['name']。爲 「\ r \ n \ r \ n」 個;它不會出現。 –

+0

當然不是,因爲您將'$ message'重新分配爲一個字符串,而不是'$ message。='連接。 –

+0

無論如何要做到與代碼衝突?添加新變量? –

1

您只需在之前或之後修改...無論您想要注入哪些內容。

當您使用$ var。=「something added!」; - 在這種情況下,您正在追加/連接其他文本。

當您使用$ var =「something added!」; - w/o The。=你已經將變量重置爲新的字符串。

想想。=與$ message = $消息相同。 「字符串被添加到消息」

$from = 'myemail'; // Use your own email address 
$subject = 'The following message was sent from the website'; 
#EXAMPLE HERE - Also note I added htmlspecialchars 
#These will convert any misc. characters to html readable content. 
#Test with it, see if it fits. Just don't add it to $email = trim... 
$message = "Your friend " . htmlspecialchars($_POST['name']) . " has sent you a message from www.mywebsite.com"\r\n\r\n; 
$message .= 'Fullname: ' . htmlspecialchars($_POST['name']) . "\r\n\r\n"; 
$message .= 'Email address: ' . htmlspecialchars($_POST['email']) . "\r\n\r\n"; 
$message .= 'Message: ' . $_POST['message']; 
$name = trim(filter_input(INPUT_POST,"name",FILTER_SANITIZE_STRING)); 
$email = trim(filter_input(INPUT_POST,"email",FILTER_SANITIZE_EMAIL)); 
$details = trim(filter_input(INPUT_POST,"message",FILTER_SANITIZE_SPECIAL_CHARS)); 
$email = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL);