自动从表单发送电子邮件

时间:2014-06-24 17:15:29

标签: javascript php email contact

我有一个关于从表单发送电子邮件的问题。在我的代码中,当我点击发送(在代码中说pošlji)并打开Outlook或在手机上打开Gmail。我想要的是它只会说发送和电子邮件将自动发送。这是代码:

            <div class="content">
            <form action="mailto:jaka.music@gmail.com" enctype="text/plain" method="post">
                <div class="row half no-collapse-1">
                    <div class="6u">
                        <input type="text" name="name" placeholder="Ime" />
                    </div>
                    <div class="6u">
                        <input type="text" name="email" placeholder="E-pošta" />
                    </div>
                </div>
                <div class="row half">
                    <div class="12u">
                        <textarea name="message" placeholder="Sporočilo" rows="7"></textarea>
                    </div>
                </div>
                <div class="row">
                    <div class="12u">
                        <ul class="buttons">
                            <li><input type="submit" name="submit" value="pošlji" class="button special"></li>
                        </ul>
                    </div>
                </div>
            </form>
        </div>

</section>

我也有php文件,但它不知何故不起作用。这是代码:

<?php
    $field_name = $_POST['cf_name'];
    $field_email = $_POST['cf_email'];
    $field_comment = $_POST['cf_message'];

    $mail_to = 'jaka.music@gmail.com';
    $subject = 'Message from a site visitor '.$field_name;

    $body_message = 'From: '.$field_name."\n";
    $body_message .= 'E-mail: '.$field_email."\n";
    $body_message .= 'Message: '.$field_comment;

    $headers = 'From: '.$field_email."\r\n";
    $headers .= 'Reply-To: '.$field_email."\r\n";

    $mail_status = mail($mail_to, $subject, $body_message, $headers);

    if ($mail_status) { ?>
            <script language="javascript" type="text/javascript">
                alert('Thank you for the message. We will contact you shortly.');
                window.location = 'contact_page.html';
            </script>
        <?php
    }
    else { ?>
    <script language="javascript" type="text/javascript">
    alert('Message failed. Please, send an email to jaka.music@gmail.com');
    window.location = 'contact.html';
    </script>
<?php
}
?>

哦,这是这个电子邮件表格的CSS:

.to input[type="text"] {
    padding: 10px 9px;
    width: 48%;
    font-size: 0.85em;
    font-family: 'Exo 2', sans-serif;
    margin: 10px 0;
    border: 1px solid #EEE;
    color: #777;
    background: #FFF;
    float: left;
    outline: none;
}
.text input[type="text"], .text textarea {
    width: 98.3%;
    font-size:0.85em;
    margin: 10px 0;
    border: 1px solid #EEE;
    color:#777;
    font-family: 'Exo 2', sans-serif;
    outline: none;
    margin-bottom: 25px;
    height: 150px;
    padding:10px 9px;
}
.submit input[type="submit"] {
    padding:10px 30px;
    color: #FFF;
    cursor: pointer;
    background:#4CB1CA;
    border:none;
    outline:none;
    font-family: 'Exo 2', sans-serif;
    font-size:1em;
    }
    .submit input[type="submit"]:hover{
    background:#555;
}

就是这样。

其他一些代码是斯洛文尼亚语,而且名称= Ime,电子邮件= E-pošta和Message =Sporočilo:)任何帮助都将非常感谢,谢谢。

1 个答案:

答案 0 :(得分:0)

您需要更改表单的action属性,以指向该文件的第二个php文件(具有以下代码行的文件:

$mail_status = mail($mail_to, $subject, $body_message, $headers);

以上代码实际上是关闭了您的电子邮件。

因此,如果该文件的名称为send_mail.php,则必须更改代码:

<form action="send_mail.php" method="post">

我当然假设您的send_mail.php文件与您的html文件位于同一文件夹中。