-2

我在表单上使用 mailto 打开默认电子邮件服务并创建电子邮件。但是,当表单上的所有字段出现在电子邮件中时,它们看起来都很糟糕。我有三个字段名词1,动词,名词2,当它们被提交时,在电子邮件的正文中它显示为,例如

noun1= I
verb= ate
noun2= food

是否有某种方法可以指定单击提交时如何在电子邮件正文上组织/显示这些变量,以便在电子邮件正文上将其格式化为

I ate food

?

表格,应要求:

<form id= "formx" method="post" action="mailto:email@email.com" enctype="text/plain">

<p><label for="id_noun1">noun1:</label>
    <input id="id_noun1" type="text" name="noun1"/></p>
<p><label for="id_verb">Verb:</label>
    <input id="id_verb" type="text" name="verb" /></p>
<p><label for="id_noun2">noun2:</label>
    <input id="id_noun2" type="text" name="noun2"/></p>
<input type="submit" value="Submit" />
4

2 回答 2

0

嗯,谢谢大家的帮助,我猜。

我决定从表单中获取输入,通过 javascript 创建一个新元素,创建一个链接并即时调整 href。最后,我有一个 javascript 点击事件,可以打开一封电子邮件,其中包含我想要的格式的信息。

var a= document.getElementById('a');
var b= document.getElementById('b');
var c= document.getElementById('c');
var link = document.createElement('a');

link.setAttribute('href', 'mailto:me.com' 
+ '?subject= Subject' + '&body='+ 'I am a ' + a.value + ', I like to ' + b.value 
+ ', I also like doing ' + c.value  
);
link.click();
于 2013-07-01T19:58:30.090 回答
-1

首先,我不得不说仅使用 html 或 javascript 发送电子邮件最终会看起来很奇怪,只需使用 php,它也很容易:

/first make the variables of all the things you need
        $naam = $_POST['vnaam'];
        $mail = $_POST['email'];
        $achternaam = $_POST['anaam'];
        $tel = $_POST['telefoon'];
        $message = $_POST['commentaar'];

        $Name = $naam; //senders name 
        $email = $mail; //senders e-mail adress 
        $recipient = "receivers email"; //recipient 
        $mail_body =  //add the variables and text here by using . u get the same as + in javascript ;
        //mail body 
        $subject = "Contact formulier van: " . $naam . " " . $achternaam; //subject 
        $header = "From: ". $Name . " <" . $email . ">\r\n"; //optional headerfields 
if ($_POST) {
 mail($recipient, $subject, $mail_body, $header); //mail command
 exit;
        }

现在 if 语句是最重要的部分。它是请求邮件功能的部分。php 的优点是接收者不会收到类似以下内容的电子邮件:idname=Dave 或 idcheckbox=true 或 false(无论是否选中他的框)

于 2013-06-28T21:47:38.333 回答