我的文件是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问题。
答案 0 :(得分:1)
您需要在php.ini
。
您需要更改的指令列于here。设置应由您的托管服务提供商提供。
但在我们超越自我之前,只需一个快速警告:
您通过在“来自”标题中设置电子邮件伪装成其他人来发送电子邮件。
大多数SMTP服务器都需要某种形式的身份验证,例如使用gmail SMTP服务器发送内容,我需要使用我的用户名和密码进行身份验证。
如果表单字段中的电子邮件与身份验证用户名不匹配,则可能会被服务器拒绝,或者可能会更改为反映身份验证用户名。最后,垃圾邮件过滤器可能效果不佳。
我的建议是,您从自己的某个电子邮件帐户发送电子邮件,例如(customerenquiry@yourdomain.com)。然后在邮件正文中,输入客户的电子邮件地址。您还可以将reply-to
标题设置为客户的电子邮件地址,这样点击电子邮件客户端中的“回复”就会自动将其电子邮件地址放在“收件人”字段中。
答案 1 :(得分:1)
试试这个:
打开php.ini
。
在php.ini文件中搜索名为SMTP
的属性。通常,您可以找到第SMTP=localhost
行。将localhost更改为ISP的smtp服务器名称。并设置25的端口。
SMTP = smtp.gmail.com #user your smtp address here
smtp_port = 25
重新启动apache服务器或wamp或xammp。无论你使用什么。
现在尝试使用mail()函数发送邮件