我的代码无效,我该如何解决这个问题?我想收到我的Yahoo ID上的邮件。
<?php
// the message
$msg = "First line of text\nSecond line of text";
// use wordwrap() if lines are longer than 70 characters
$msg = wordwrap($msg,70);
// send email
mail("faisalkhan00668@yahoo.com","My subject",$msg);
?>
错误:
警告:mail()[function.mail]:&#34; sendmail_from&#34;未设置在php.ini或custom&#34; From:&#34;第9行的C:\ xampp \ htdocs \ mail \ mail.php中缺少标题
答案 0 :(得分:5)
在第四个参数中,您可以向邮件添加标题。在这里,您可以添加自:
在这里的php网站上解释 http://php.net/manual/en/function.mail.php
$to = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
'Reply-To: webmaster@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
这将解决问题
现在在php.ini中有一行
;sendmail_from = postmaster@localhost
如果您通过删除;
取消注释,则可以设置默认值。在这种情况下,您不必在mail()
电话中添加标题。
答案 1 :(得分:1)
您使用的是SMTP吗?尝试在php代码的开头插入这两行:
ini_set ("SMTP","localhost");
ini_set ("sendmail_from","xxxyourmailxxx@xxxxxx.xxx");
答案 2 :(得分:1)
这可以使用mail()函数完成。请记住,这不适用于本地服务器。
<?php
$to = 'faisalkhan00668@yahoo.com';
$subject = 'My subject';
$message = 'hello';
'Reply-To: webmaster@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message);
?>
要创建SMTP服务器,您需要执行以下操作:
创建SMTPConfig.php
<?php
//These need to be changed to actual values
$SmtpServer="127.0.0.1";
$SmtpPort="25"; //default
$SmtpUser="username";
$SmtpPass="password";
?>
将以下代码添加到index.php文件中:
<?php
include('SMTPconfig.php');
include('SMTPClass.php');
if($_SERVER["REQUEST_METHOD"] == "POST") {
$to = $_POST['to'];
$from = $_POST['from'];
$subject = $_POST['sub'];
$body = $_POST['message'];
$SMTPMail = new SMTPClient ($SmtpServer, $SmtpPort, $SmtpUser, $SmtpPass, $from, $to, $subject, $body);
$SMTPChat = $SMTPMail->SendMail();
}
?>
<form method="post" action="">
To:<input type="text" name="to" />
From :<input type='text' name="from" />
Subject :<input type='text' name="sub" />
Message :<textarea name="message"></textarea>
<input type="submit" value=" Send " />