使用PHP发送邮件

4

我是一个新手,刚学习 PHP,希望能够发送邮件。我的应用程序在 GoDaddy Share Hosting 上运行,请告诉我如何实现它。谢谢大家。

我从你们那里得到了回复,但遇到了一些问题。
这是我的代码:

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Send Mail</title>
</head>

<body>
<?php
        if( isset($_POST['email']) && isset($_POST['subject']) && isset($_POST['msg']) )
        {
            $to = $_POST['email'];
            $subject = $_POST['subject'];
            $msg = $_POST['msg'];
            $from = "abhisheks.net@gmail.com";
            $headers = "From: $from";
            mail($to,$subject,$msg,$headers);
            echo "Mail Send";
        }

 ?>
 <form action="sendMail.php" method="post">

 <div>
 <table style="width:100%;">
 <tr>
 <td>Email:</td>
 <td><input type="text" name="email" /></td>
 <td>Subject:</td>
 <td><input type="text" name="subject" /></td>
 </tr>
  <tr>
 <td>Message</td>
 <td><input type="text" name="msg" /></td>
 <td colspan="2"> <input type="submit" value="Send Mail" /></td>

 </tr>
 </table>
 </div>
 </form>
</body>
</html>

运行该页面后,我遇到了错误。

"Warning: mail() [function.mail]: SMTP server response: 554 The message was rejected because it contains prohibited virus or spam content in D:\Hosting\5676400\html\myPhp\temp\admin\sendMail.php on line 17"

5个回答

7

PHP mail() 函数

基本示例:

<?php
$to = "someone@example.com";
$subject = "Test mail";
$message = "Hello! This is a simple email message.";
$from = "someonelse@example.com";
$headers = "From: $from";
mail($to,$subject,$message,$headers);
echo "Mail Sent.";
?>

感谢您的回复,我尝试了您的代码,但是出现了错误信息。在这里,我正在编辑我的问题,我将放置我的代码和错误消息,请查看其中的问题。再次感谢。 - Abhishek
我认为你需要提供一些SMTP设置。我发布了一个非常基本的例子。根据您的服务器设置,您需要提供更多信息。看看这些:1. http://www.phpbuilder.com/board/showthread.php?t=10367822 2. http://email.about.com/od/emailprogrammingtips/qt/PHP_Email_SMTP_Authentication.htm 3. http://w3schools.invisionzone.com/index.php?showtopic=28584 - Naveed

4

2

请注意,仅提供链接的答案是不被鼓励的。SO的答案应该是寻找解决方案的终点(而不是另一个参考站点,随着时间的推移往往会变得陈旧)。请考虑在此处添加一个独立的摘要,将链接作为参考。 - kleopatra

1
<?php
$message="hi";
$to="to@exmaple.com";
$sub='Subject of the Mail';
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
$headers .= "From:from@example.com\r\n";
mail($to,$sub,$message,$headers); 
?>

简单的PHP邮件发送
这将接受HTML标签并相应地执行。

0
请注意,虽然 PHP 的 mail() 函数非常简单和方便,但计算机操作系统必须能够自行发送邮件。
您必须检查 mail() 的返回值(布尔值,如果邮件被接受以进行投递,则为true)。
  $result = mail( ... );

如果$result变量是false,您需要检查计算机邮件配置/实现。

如果它是true,但邮件未发送,则需要检查计算机邮件日志。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接