如何从网页发送电子邮件?

时间:2017-04-11 23:22:48

标签: html email

我一直在努力学习HTML的基础知识,在这样做的过程中,我一直在设计自己的基本网页。我根本不打算公开它,但帮助我学习HTML和CSS的所有不同方面是件好事。在这样做的过程中,我在其中一个页面上添加了一个“联系”部分,其中包括一个电子邮件地址和一个允许发送电子邮件的表单,我使用了W3Schools上的一个教程来创建它。出于此目的,我删除了自己的电子邮件地址,并将其替换为someone@example.com,但这是代码的特定部分的输出:

E-mail

但是,每当我尝试填写表单进行测试时,我都会收到此弹出消息。如果我单击取消,则没有任何反应,但如果单击“确定”,则会打开计算机上的邮件应用程序。但是我在表单中输入的消息不存在,我在框中输入的电子邮件地址只是更改为我计算机上的默认地址。

Pop-up

那么我该怎么做才能阻止这个弹出消息,并且只是发送电子邮件给我?

以下是HTML文档中的相关代码:

<h2 style = 'font-weight:normal'><a name = 'Contact' id = 'Contact'></a>Contact me:</h2>

<p>
  You can reach me at: someone@example.com <br />
  Or by just using the form below
</p>

<form action = 'mailto: someone@example.com' method = 'post' enctype = 'text/plain'>
  <input type = 'text' name = 'name' placeholder = 'Name'> <br />
  <br />
  <input type = 'text' name = 'mail' placeholder = 'E-mail'> <br />
  <br />
  <input type = 'text' name = 'comment' size = '50' placeholder = 'Comment'> <br />
  <br />
  <input type = 'submit' value = 'Send'>
  <input type = 'reset' value = 'Reset'>
</form>

如果HTML不足以从网页发送电子邮件,并且我需要另一种语言来编写可以执行此操作的程序,我在Python中非常称职,而且我知道C#在某种程度上。但是,我从未使用过JavaScript,PHP,Perl或其他任何东西(我不知道哪种语言适合)

1 个答案:

答案 0 :(得分:1)

如果您想提交表单以转到电子邮件,那很简单。您可以使用像PHP这样的简单服务器端语言。你需要3个文件。一个文件包含前端表单内容,一个文件在用户点击提交按钮后处理表单,感谢页面在表单发送后让用户知道表单已提交。这是下面的演示。

HTML:

 <form action="processor.php" method="post" id="myForm">
        <label for="firstname"></label>
        <input type="text" name="firstname" placeholder="First Name" id="firstname" required>
        <label for="lastname"></label>
        <input type="text" name="lastname" placeholder="Last Name" id="lastname" required> 
        <label for="email"></label>
        <input type="email" name="email" placeholder="Email" id="email" required>
        <label for="comments"></label>
        <textarea rows="4" cols="32" name="comments" id="comments" placeholder="Questions & Comments"></textarea>
        <input type="submit" value="Submit">
    </form>

PHP(processor.php文件)

/***********************************************************/
/*******   Set the receipient email address below   ********/
/*******   And set the subject line of the email    ********/
/*$recipient_email = "testemail@yahoo.com";*/
$recipient_email = "testemail@yahoo.com";
$email_subject_line = "Mail from Website";

/***********************************************************/
/***********************************************************/

if(isset($_POST['firstname']))
{
$firstName = $_POST['firstname'];
    $lastName = $_POST['lastname'];
    $email = $_POST['email'];
    $comments = $_POST['comments'];

   if(!empty($firstName) && 
    !empty($lastName) &&
    !empty($email) &&
    !empty($comments))
   {

$message = "Name: $firstName, Lastname: $lastName, Phone: $phoneNumber, 
Email: $email, Comments: $comments";

send_mail($email, $message, $recipient_email, $email_subject_line);

   }
}

function send_mail($email, $message, $recipient_email, $email_subject_line)
{
$to = $recipient_email;
$from = $email;
$subject = $email_subject_line;
$headers = "From: {$email}" . "\r\n" . 'Reply-To:' . $email . "\r\n" . 'X-
Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
}

header("Location:thankyoupage.php");

thankyoupage.php(提交数据后)

<div class="thankyoucontainer">
    <h1>Thank you, your message has been submitted.</h1>
    <a href="index.php">Go back to home page</a>
</div>