簡體   English   中英

如何使用按鈕發送當前頁面的電子郵件?

[英]How do I send an email of the current page using a button?

我正在嘗試發送html頁面的電子郵件。 這是我到目前為止的代碼:

<script language="javascript">
    function emailCurrentPage() {
        window.location.href = "mailto:?subject=" + document.title + "&body=" + encodeURI(document.location);
    }
</script>

<button onclick="emailCurrentPage()">Email page</button>

哪個發送當前頁面的鏈接,但我希望電子郵件中顯示整個html頁面。 反正有做到這一點嗎?

更新和編輯:所以我決定嘗試使用php來解決這個問題,因為到處都看不到用javascript來完成。 我對php知之甚少。 到目前為止,這是我的代碼:

<?php

    $to  = 'john@example.com';
    $subject = 'A test email!';

    // To send HTML mail, the Content-type header must be set
    $headers  = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

    // Put your HTML here
    $message = file_get_contents('example.html');

    // Mail it
    mail($to, $subject, $message, $headers);

    echo "Message Sent!"

}
?>

<form action="php/emailPage.php" method="post">
    <input type="submit" name="submit" value="Email Page">
</form>

當我單擊按鈕時,我得到的只是“已發送消息!”。 消息,但沒有電子郵件。 我將“ john@example.com”更改為電子郵件,但是收件箱中沒有收到電子郵件。 關於什么是問題的任何想法?

如果您要堅持使用純JavaScript,那么不打開用戶電子郵件客戶端就很難做到這一點。 這將是一種糟糕的方法,因為我建議不要使用javascript:

window.open('mailto:test@example.com?subject=subject&body=body');

這種第三方解決方案更好,您可能需要檢查一下: https : //medium.com/@mariusc23/send-an-email-using-only-javascript-b53319616782

您甚至可以打開帶有預定主題和正文的電子郵件客戶端,如上所示。 如果您添加文本區域,則可以讓用戶在您的頁面中寫入電子郵件:

<textarea id="myText">
    User writes stuff here
</textarea>
<button onclick="sendMail(); return false">Send</button>

SendMail調用您的JS腳本,您只需要替換window.open中的第二個單詞主體即可獲取textarea文本。 這可能會返回HTML標記內的HTML代碼,您也可以將其插入到正文中,而不是插入文本區域文本中。 (或externalHTML)

document.documentElement.innerHTML


window.open('mailto:test@example.com?subject=subject&body='+escape(document.getElementById('myText').value));

我也找到了,但是我不知道這是否適合您。 http://www.emailjs.com/

我想通了使用php並安裝XAMPP。 我在XAMPP中使用了Apache,MySQL和Mercury。 我在這里按照汞的步驟進行操作。 我還必須更改php.ini文件和sendmail.ini文件中的某些內容。 這些步驟可以在這里找到。 希望這有助於減少其他人完成此工作的時間,因為這花了我一段時間。 php代碼與我的原始帖子相同。 另外,您還必須將代碼放在以下目錄C:\\ xampp \\ htdocs中。 我在htdocs中創建了一個名為HTMLTemplates的文件夾。 為了在瀏覽器中運行此命令,我輸入了localhost / HTMLTemplates / myfile.html

暫無
暫無

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

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