我有html格式的代码:
<form name="form1" method="post" action="C:/xampp/htdocs/shangri_la/contacto.php">
<p>
<label>Nombre
<input name="nombre" type="text" id="nombre" size="35">
</label>
</p>
<p>
<label>Correo a responder
<input type="text" name="mail" id="mail">
</label>
</p>
<p>
<label>Mensaje
<br>
<textarea name="textarea" cols="100" rows="15" id="textarea"></textarea>
</label>
</p>
<p>
<input type="submit" name="button" id="button" value="Enviar">
</p>
</form>
这对于php:
< ?php
$nombre = $_POST['nombre'];
$mail = $_POST['mail'];
$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 = "De " . $nombre . " \r\n";
$mensaje .= "Responder a: " . $mail . " \r\n";
$mensaje .= "Mensaje: " . $_POST['mensaje'] . " \r\n";
$mensaje .= "Enviado el " . date('d/m/Y', time());
$para = 'my-email';
$asunto = 'Mensaje de pagina principal';
mail($para, $asunto, utf8_decode($mensaje), $header);
echo 'Mensaje enviado correctamente';
?>
问题是我运行代码并将它直接发送到带有php代码的页面,这与我在没有XAMPP时收到的结果相同。我已经在XAMPP和php.ini中找到了关于sendmail函数的所有内容。那么,有人可以帮我识别代码中是否有错误,如果错误可能在服务器设置中,或者是否有其他服务器选项我可以使用?
XAMPP php.ini:
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP=smtp.gmail.com
; http://php.net/smtp-port
smtp_port=465
; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = my@mail.com
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = “\”C:\xampp\sendmail\sendmail.exe\” -t”
XAMPP sendmail.ini:
[sendmail]
smtp_server=smtp.gmail.com
smtp_port=465
smtp_ssl=ssl
default_domain=localhost
error_logfile=error.log
debug_logfile=debug.log
auth_username=my@mail.com
auth_password=*******
force_sender=admin
hostname=localhost