表格不会发送信息

时间:2015-11-05 05:28:28

标签: html forms submit mailto

所以我一直坐在这里绞尽脑汁几个小时,似乎无法在这里找到我的错误。我试图让我的表单将用户输入的信息发送到我的电子邮箱。当我点击发送没有任何事情发生......任何事都会有所帮助谢谢!

以下是我的代码:

给我发电子邮件!

<div class="formCenter">

    <form action="MAILTO:myemail@yahoo.com" method="post" enctype="text/plain">
        First Name:<br>
        <input type="text" name="firstName"><br>
        Last Name:<br>
        <input type="text" name="lastName"><br>
        Email:<br>
        <input type="text" name="email"><br>
        Comments:<br>
        <textarea name="commentBox" rows="6" cols="40"></textarea><br>
        <input type="submit" value="Send">&nbsp;
        <input type="reset" value="Reset">


    </form>
</div>

4 个答案:

答案 0 :(得分:0)

好的,所以你必须将Action发送到像Email.PHP(或ASP.net等)的页面,它将处理你的POST变量。

示例:

<?php
$firstame = $_POST['firstName'];
?>

然后你必须使用Mail(),它可以在大多数服务器上运行,但有时它不会让你使用像PHPMailer这样的工具,这是一个面向对象的工具。

当您将链接提供为MAILTO时,它会打开您的本地邮件客户端,以发送列出了POST变量的电子邮件,这是非常不专业的。你最好有一个暂时转到MAILTO的链接,可能有类似的隐藏值或类似的东西,所以当他们打开客户端时,它会自动生成一个他们只需点击的电子邮件。话虽如此,你会保持你的表单布局,但只是换掉变量,这样它们就不会出现了。

单击“发送”时没有看到任何内容的原因是因为即使您的TYPE是提交,您有时也需要提交值和/或名称。一些浏览器和服务器会以不同的方式对待它,甚至是像Bootsrap这样的框架。如果您将名称和值更改为“提交”,然后将其更改为“发送”以查看适合您的内容,则可以将其保留为“发送”格式,前提是它可以正常工作。

我希望这会有所帮助。

答案 1 :(得分:0)

你可以尝试这个:

<?php
if($_POST["message"]) {
    mail("your@email.address", "Form to email message", $_POST["message"], "From: an@email.address");
}
?>

请参阅此页http://htmldog.com/techniques/formtoemail/

答案 2 :(得分:0)

表单本身无法发送电子邮件。代码的作用是提示您选择Outlook等电子邮件客户端软件。

您是否检查过您的电子邮件客户端软件是否正常运行?重启机器也是故障排除的一种方法。

答案 3 :(得分:0)

<强>的JavaScript

&#13;
&#13;
    function submitEmail() {
        var fname = $.trim($("#txtfname").val());
        var lname = $.trim($("#txtlname").val());
        var email = $.trim($("#txtemail").val());
        var comments = $.trim($("#txtComments").val());
        

        if (isValidEmail(email) &&  (fname.length > 1) && (lname.length > 1)) {

            $.ajax({
                type: "POST",
                url: "index.aspx/SubmitEmail",
                data: "{'Email':'" + $.trim($("#txtemail").val()) + "'," + "'FName':'" + $.trim($("#txtfname").val()) + "'," + "'LName':'" + $.trim($("#txtlname").val()) + "'," + "'Comments':'" + $.trim($("#txtComments").val()) + "'}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (response) {
                    if (response.d != "null") {
                        var JsonObj = $.parseJSON(response.d);
                        if (JsonObj._Status == "OK") {

                           alert('Success Email :)')
                        }
                        else {
                            alert(JsonObj._Message);
                        }
                    }
                },
                failure: function (msg) {
                    alert(msg);
                }
            });

        }
        else {
            
            return false;
        }
    }
function isValidEmail(emailAddress) {
        var pattern = new RegExp(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i);
        return pattern.test(emailAddress);
    };


 
    <WebMethod()> _
    Public Shared Function SubmitEmail(ByVal Email As String, ByVal FName As String, ByVal LName As String,  ByVal Comments As String) As String
       
        Dim _serializer = New JavaScriptSerializer()
        
        Dim jSonRes As String = String.Empty
        
        Dim MyString As New StringBuilder()

        MyString.Append("First Name: " & FName).Append(Environment.NewLine)
        MyString.Append("Last Name: " & LName).Append(Environment.NewLine)
        MyString.Append("Email Address: " & Email).Append(Environment.NewLine)
        MyString.Append("Comments: " & Comments).Append(Environment.NewLine)
    
        Try
                
            Dim Message As New Net.Mail.MailMessage("Do-Not-Reply@test.com", "myemail@yahoo.com")
                
            Message.CC.Add("test@test.com,test@test.com")
                
            Message.Subject = "New Request from " & FName & " " & LName
                
            Message.IsBodyHtml = False
                
            Message.Body = MyString.ToString()
                
            Dim SmtpMail As New System.Net.Mail.SmtpClient
                
            SmtpMail.Host = "localhost"
                
            SmtpMail.Send(Message)
                
            jSonRes = _serializer.Serialize(New With {._Status = "OK", ._Message = ""})
                
        Catch ex As Exception
                
            jSonRes = _serializer.Serialize(New With {._Status = "Error", ._Message = ex.Message})
                
        End Try
        Return jSonRes
        
    End Function
&#13;
<form action="index.aspx/submitEmail" method="post" enctype="text/plain">
        First Name:<br>
        <input type="text" name="firstName" id="fname"><br>
        Last Name:<br>
        <input type="text" name="lastName" id="lname"><br>
        Email:<br>
        <input type="text" name="email" id="txtemail"><br>
        Comments:<br>
        <textarea name="commentBox" rows="6" cols="40" id="txtComments"></textarea><br>
        <input type="submit" value="Send">&nbsp;
        <input type="reset" value="Reset">


    </form>
&#13;
&#13;
&#13; 这是发送电子邮件的正确方法。您还可以使用php或C#代码发送电子邮件。我使用vb.net代码(webmethod)发送电子邮件。