我想通过php将此表单中的数据发送到gmail帐户。现在,如果我发送没有任何反应,请包含垃圾邮件文件夹。
<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>
这是php,我不知道出了什么问题。这段代码大约三年前在其他网站上对我有用。我读到了关于电子邮件标题和gmail风格的帐户,这些帐户在recibe上遇到问题,但我不知道。关于什么事发生,我感到有点困惑。
<?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>";
}
?>
我在第一个答案后检查我的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
答案 0 :(得分:0)
请检查您的php.ini文件以获取邮件设置。 mail()函数使用.ini文件中设置的参数发送邮件。
对于Ubuntu:
安装sendmail
sudo apt-get install sendmail
在此配置您的主机
sudo vim /etc/hosts
(Vim是这里的文字编辑器)
保存并运行sendmail的配置
sudo sendmailconfig
最后,重启Apache
sudo service apache2 restart
有关详细信息,请参阅this链接