我正在学习如何发送电子邮件。我已经安装了appserver和文件 php.ini-dist和php.ini-推荐我做了以下更改
SMTP=localhost
sendmail_from=me@localhost.com
我用mail.ptcl.net替换了localhost,这是我的dsl提供者 并用我的电子邮件地址h_k9@live.com替换了me@localhost.com
我在提交表单时收到以下消息
“警告:mail()[function.mail]: “sendmail_from”未在php.ini中设置或 自定义“From:”标题丢失 C:\的appserv \ WWW \哈姆扎\ send_simpleform.php 第14行以下电子邮件 已发送:
Hamza:hamza
h_k9@live.com
消息:adasdas“
以下是我正在使用的脚本
<html>
<head>
<title>Simple Feedback Form</title>
</head>
<body>
<form method="post" action="send_simpleform.php"/>
<p><strong>Your name</strong><br/>
<input type="text" name="sender_name" size="30" /></p>
<p><strong>Senders Email address</strong><br/>
<input type="text" name="sender_email" size="30" /></p>
<p><strong>Enter your Message here</strong><br/>
<textarea name="message" cols="30" rows="5" wrap="virtual"></textarea></p>
<p><input type="submit" value="send this form" name="submit"/></p>
</form>
</body>
</html>
<?php
if(($_POST[sender_name]=="")||($_POST[sender_email]="")||($_POST[message==""] ))
{ header("location=simple_form.html");
exit;
}
$msg="E-MAIL SENT FROM WWW SITE\n";
$msg="Sender's Name: $_POST[sender_name]\n";
$msg="Sender's E-Mal I.D: $_POST[sender_email]\n";
$msg="Message: $_POST[message]\n";
$to="h_k9@live.com";
$subject="Web site feedback";
$mailholders="from my website<geriadress@yourdomain.com>\n";
$mailheader="Reply-to: $_POST[sender_email]\n";
mail($to, $subject,$msg,$mailheaders);
?>
<html>
<head>
<title>Simple Feedback Form Sent</title>
</head>
<body>
<h1>The following e-mail has been sent:</h1>
<p><strong>Hamza:</strong><br\>
<?php echo "$_POST[sender_name]";?>
<p><strong>h_k9@live.com</strong><br\>
<?php echo "$_POST[sender_email]";?>
<p><strong>Message:</strong><br>
<? echo "$_POST[message]";?>
</body>
</html>
答案 0 :(得分:2)
我相信你至少有两个问题:
答案 1 :(得分:1)
正如jhinal所指出的那样,你修改过的php.ini文件就是例子。你必须找出php.ini在哪里发布并修改它。
正如其他人所提到的,您可以从标题中设置自定义。但是,如果你没有在php.ini中设置sendmail_from,你必须记住始终设置它。
无论如何,这是一篇关于使用PHP的mail()函数发送电子邮件的相当不错的文章/教程:
答案 2 :(得分:0)
使用外部库发送邮件可能更简单,如http://swiftmailer.org/而不是使用php.ini
依赖php.ini是绝对不错的。
答案 3 :(得分:0)
试试这个:这在我的网站上对我有用。
$email = "your e-mail address";
$myname = "name";
$mymail = "reply Address";
$subject = "SUBJECT LINE";
$body = "TEXT GOES HERE";
$headers = "Content-Type: text/plain; charset=us-ascii\nFrom: $myname <$mymail>\n
Reply-To: <$mymail>\nBCC:<$mymail>\nReturn-Path: <$mymail>\nX-Mailer: PHP";
//send the email
if ($email != "") {
mail($email,$subject,$body,$headers);
}