简体   繁体   English

通过php发送此表格的数据到Gmail帐户

[英]Send the data of this form to a gmail account via php

I want to send the data from this form to a gmail account via php. 我想通过php将数据从此表单发送到Gmail帐户。 Now if I send it nothing happens, include the spam folder. 现在,如果我没有发送任何邮件,请包括垃圾邮件文件夹。

    <label for="email" id="email">Email <span>*</span></label>
    <input type="email" id="" name="email">

     <div>
         <div>
            <label for="name" id="text">Nombre <span>*</span> </label>
            <input type="text" id="name" name="name">
         </div>
         <div>
            <label for="tlf-num">Teléfono <span>*</span> </label>
            <input id="tlf-num" type="text" name="tlf-num" >
        </div>
     </div>
    <div>
        <label for="message" id="#">Mensaje</label>
        <textarea contenteditable="false" name="message" id="message" cols="30" rows="10"></textarea>
    </div>
    <input type="submit" value="ENVIAR">
</form>

This is the php, I don´t know what is wrong. 这是php,我不知道怎么了。 This code was works for me about three years ago on other website. 该代码大约在三年前在其他网站上对我有用。 I read about email headers and gmail style accounts which take problems on recibe but I don´t know. 我读到有关电子邮件标头和gmail样式帐户的信息,这些帐户在收据上会出现问题,但我不知道。 I´m feeling a bit confussing about whats happen. 我对发生的事情感到有些困惑。

<?php

if(isset($_POST['name']) && isset($_POST['email']) && isset($_POST['tlf-   num']) && isset($_POST['message']) != ""){

$nombre = $_POST['name'];
$mail = $_POST['email'];
$header = 'From: ' . $mail . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";
$mensaje = "Nombre " . $nombre . " ";
$mensaje .= "Su e-mail es: " . $mail . " \r\n";
$mensaje .= "Mensaje: " . $_POST['message'] . " \r\n";
$mensaje .= "Enviado el " . date('d/m/Y', time());
$para = 'loquesea@gmail.com';
$asunto = 'Formulario contacto Web';

mail($para, $asunto, utf8_decode($mensaje), $header);
echo "<script type='text/javascript'>
    setTimeout( function() {
      window.location.href='https://loquesea.com';
    }, 1500)
     </script>";
}
else{
    echo "<script type='text/javascript'>
        alert('Revisa los datos');
        window.location.href='https://loquesea.com';
 </script>";
}

?>

I check my php.ini file after the first answer and have this configuration, maybe need to change something or add any option or something else?. 在第一个答案之后,我检查了我的php.ini文件并进行了配置,也许需要更改某些内容或添加任何选项或其他内容?

[mail function]
; For Win32 only.
; http://php.net/smtp
; SMTP = localhost
; http://php.net/smtp-port
; smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = me@example.com

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
;sendmail_path = "env -i /usr/sbin/sendmail -t -i"

; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail().
;mail.force_extra_parameters =

; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
mail.add_x_header = On

; The path to a log file that will log all mail() calls. Log entries include
; the full path of the script, line number, To address and headers.
;mail.log =
; Log mail to syslog (Event Log on Windows).
;mail.log = syslog

Please check your php.ini file for mail settings. 请检查您的php.ini文件中的邮件设置。 THe mail() function uses the parameters set in .ini file to send mails. mail()函数使用.ini文件中设置的参数发送邮件。

For Ubuntu: 对于Ubuntu:

Install sendmail 安装sendmail

sudo apt-get install sendmail

Configure your host here 在这里配置主机

sudo vim /etc/hosts

(Vim is the text editor here) (Vim是此处的文本编辑器)

Save it and run config for sendmail 保存并运行sendmail的配置

sudo sendmailconfig

Finally, restart Apache 最后,重启Apache

sudo service apache2 restart

Refer this link for more details 请参阅链接以获取更多详细信息

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM