如何在Windows上使用PHP发送电子邮件?

时间:2014-05-28 10:05:19

标签: php windows

我的代码无效,我该如何解决这个问题?我想收到我的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中缺少标题

3 个答案:

答案 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 " />