电子邮件从PHP中的本地服务器发送

时间:2012-03-11 23:42:33

标签: php

我的文件是mail.php:

<html>
<body>

<?php
if (isset($_REQUEST['email']))
//if "email" is filled out, send email
  {
  //send email
  $email = $_REQUEST['email'] ;
  $subject = $_REQUEST['subject'] ;
  $message = $_REQUEST['message'] ;
  mail("syedsamiruddin29@gmail.com", $subject,
  $message, "From:" . $email);
  echo "Thank you for using our mail form";
  }
else
//if "email" is not filled out, display the form
  {
  echo "<form method='post' action='mail.php'>
  Email: <input name='email' type='text' /><br />
  Subject: <input name='subject' type='text' /><br />
  Message:<br />
  <textarea name='message' rows='15' cols='40'>
  </textarea><br />
  <input type='submit' />
  </form>";
  }
?>

</body>
</html>

但是当我跑的时候。我收到这个错误:

Warning: mail() [function.mail]: Failed to connect to mailserver at "127.0.0.1" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\Program Files\EasyPHP-5.3.8.1\www\safepay247\mail.php on line 13
Thank you for using our mail form

我想做的是发送电子邮件到我的电子邮件ID:syedsamiruddin29@gmail.com使用php来输入输入类型的人的电子邮件。

我经历了很多视频,但没有人帮我解决php.ini问题。

2 个答案:

答案 0 :(得分:1)

您需要在php.ini

中设置SMTP服务器

您需要更改的指令列于here。设置应由您的托管服务提供商提供。

但在我们超越自我之前,只需一个快速警告:

  • 您通过在“来自”标题中设置电子邮件伪装成其他人来发送电子邮件。

  • 大多数SMTP服务器都需要某种形式的身份验证,例如使用gmail SMTP服务器发送内容,我需要使用我的用户名和密码进行身份验证。

  • 如果表单字段中的电子邮件与身份验证用户名不匹配,则可能会被服务器拒绝,或者可能会更改为反映身份验证用户名。最后,垃圾邮件过滤器可能效果不佳。

我的建议是,您从自己的某个电子邮件帐户发送电子邮件,例如(customerenquiry@yourdomain.com)。然后在邮件正文中,输入客户的电子邮件地址。您还可以将reply-to标题设置为客户的电子邮件地址,这样点击电子邮件客户端中的“回复”就会自动将其电子邮件地址放在“收件人”字段中。

答案 1 :(得分:1)

试试这个:

  1. 打开php.ini

  2. 在php.ini文件中搜索名为SMTP的属性。通常,您可以找到第SMTP=localhost行。将localhost更改为ISP的smtp服务器名称。并设置25的端口。

    SMTP = smtp.gmail.com #user your smtp address here
    smtp_port = 25
    
  3. 重新启动apache服务器或wamp或xammp。无论你使用什么。

  4. 现在尝试使用mail()函数发送邮件