如何使用单选按钮在页面中选择的数据从HTML页面发送电子邮件?

时间:2019-06-10 18:02:09

标签: javascript php html

我正在尝试使用页面中单选按钮的数据从HTML页面发送电子邮件。

除了3个单选按钮外,实际上没有什么其他功能,而我想做的是在用户选择一个按钮并单击“提交”按钮后重定向给他,以便向我发送电子邮件。

电子邮件的正文应包含以前选择的单选按钮。 (例如,如果我有3种食物:1)肉,2)蔬菜,3)水果,并且用户选择了“水果”,则电子邮件的正文应类似于“您选择了水果”。)

是否有任何想法?

3 个答案:

答案 0 :(得分:1)

HTML是一种标记语言,无法发送电子邮件。下一个想法可能是使用HTML页面中嵌入的JavaScript发送电子邮件,但是JS也无法发送电子邮件。

一种选择是创建“ mailto:”链接,例如:

#!/bin/bash echo $1; if [ $3 == "auto" ] ; then arg= sleep 1 else arg= read </dev/tty fi if [ -z ${2+x} ] ; then echo "blablabla"; elif [ $2 == "tail" ] ; then ssh -o StrictHostKeyChecking=no -p 2222 root@$1 tail -f /var/log/messages; echo "Reconnect?"; while $arg; do ssh -o StrictHostKeyChecking=no -p 2222 root@$1 tail -f /var/log/messages; echo "Reconnect?"; done

这将要求浏览器打开用户的电子邮件应用程序,例如Outlook或Gmail。您将必须做一些JavaScript魔术才能将想要的数据获取到链接中。 (我将研究修改“ a”标签的href值)。参见https://en.wikipedia.org/wiki/Mailto

根据用户在网页上执行的操作发送电子邮件的最常用选项是将请求发送到网站的服务器,该服务器具有服务器端代码,可通过SMTP或API发送电子邮件。详细信息取决于您的服务器解决方案。如果您无法通过Google搜索来了解详细信息,那么我会问一个更具体的问题,即使用您选择的服务器技术发送电子邮件。

答案 1 :(得分:1)

如果您正在寻找PHP解决方案,

我将使用“ mail”功能实际发送邮件。发送之前,您需要清理和处理表单数据。我将在W3's form handling page上了解如何访问表单数据的基本知识,并在this堆栈溢出中查看有关正确清理表单数据的更多信息。

答案 2 :(得分:0)

您可以结合使用AJAX(javascript)和PHP。

类似这样的东西:

//jQuery (javascript):
$('#btnGo').click(function(){
  var eden = $('[name=fruits]:checked').val();
  console.log(eden);
  $.ajax({
    type:'post',
     url:'name_of_your_php_file.php',
    data:'dfruit=' + eden
  }).done(function(recd){
    console.log(recd);
  });
});
<!-- HTML -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
Apple: <input type="radio" name="fruits" value="apple" /></br>
Pear: <input type="radio" name="fruits" value="pear" /></br>
Orange: <input type="radio" name="fruits" value="orange" /></br>
<button id="btnGo">Go</button>

PHP:

<?php
    $fruit = $_REQUEST['dfruit'];

    $headers = "";
    $headers .= "Content-type: text/html; charset=iso-8859-1\n";
    $headers .= "From: veritas_demo@cssyphus.com\n";
    $headers .= "Organization: cssyphus.com\n";
    $headers .= "X-Priority: 3\n";
    $headers .= "X-Mailer: PHP". phpversion() ."\n" . PHP_EOL;
    $msg = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">';

    $msg .= "You requested a: " . $fruit;
    $to = "you@yourdomain.com";
    $subject = "Whatever you want for a subject";

    mail($to, $subject, $msg, $headers);

    echo 'Email sent!'; //This is received in the `.done()` section of js.

重要:请注意,我在HTML中引用了jQuery库。您还需要此代码才能正常工作。如果您不擅长javascript (从您的问题来看,我认为您还不是),那么jQuery将使这项工作变得更加简单。并且减少打字。