Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从我的帐户发送邮件。不是网络主机_Php_Email_Message - Fatal编程技术网

Php 从我的帐户发送邮件。不是网络主机

Php 从我的帐户发送邮件。不是网络主机,php,email,message,Php,Email,Message,我得到了一张成功地向我发送电子邮件的联系表 摘录如下: $_POST['message'] = wordwrap($_POST['message'], 70); mail ('myemail@test.com', $_POST['subject'], $_POST['message'] , $_POST['email']); echo "<div class='registertext'>Your email was succesfully sent to a member of t

我得到了一张成功地向我发送电子邮件的联系表

摘录如下:

$_POST['message'] = wordwrap($_POST['message'], 70);
mail ('myemail@test.com', $_POST['subject'], $_POST['message'] , $_POST['email']);
echo "<div class='registertext'>Your email was succesfully sent to a member of the administration team. Please wait 24 hours for as to reply and ensure you check your junk mail!<br />To login please click <a href='login.php'>here</a></div>";
$\u POST['message']=wordwrap($\u POST['message'],70);
邮件('myemail@test.com“,$发布['subject'],$发布['message'],$发布['email']);
echo“您的电子邮件已成功发送给管理团队的一名成员。请等待24小时,等待as回复,并确保您检查了垃圾邮件!
要登录,请单击”;

我遇到的问题是,电子邮件是从我的主机发送的。不是我想指定的电子邮件。如何克服此问题?

您可以在电子邮件标题中指定:

$recipient = "recipient@test.com";
    $from      = "You@yoursite.com";
    $replyTo   = "You@yoursite.com";
    $subject   = "Hi!";
    $text      = "<p>This is a test!<p>";

    $headers = "MIME-Version: 1.0\r\n"
      ."Content-Type: text/html; charset=utf-8\r\n"
      ."Content-Transfer-Encoding: 8bit\r\n"
      ."From: =?UTF-8?B?". base64_encode([Your Name]) ."?= <$from>\r\n"
      ."Reply-To: $replyTo\r\n"
      ."X-Mailer: PHP/". phpversion();

    //send it!
    if (mail($recipients, $subject, $text, $headers, "-f $from")){
        echo "sent";
        } else {
           echo "did not send";
        };
$recipient=”recipient@test.com";
$from=”You@yoursite.com";
$replyTo=”You@yoursite.com";
$subject=“你好!”;
$text=“这是一个测试!”;
$headers=“MIME版本:1.0\r\n”
“内容类型:text/html;字符集=utf-8\r\n”
“内容传输编码:8位\r\n”
“发件人:=?UTF-8?B?”。base64_编码([您的姓名])“?=\r\n”
“答复:$replyTo\r\n”
“X-Mailer:PHP/”。phpversion();
//发送它!
if(邮件($recipients,$subject,$text,$headers,“-f$from”)){
回音“已发送”;
}否则{
echo“未发送”;
};

但它很有可能被垃圾邮件过滤器捕获。在这种情况下,您最好使用一个PHP邮件库来处理SMTP电子邮件,并使用您的实际帐户来发送邮件(有几个包可以为您处理此问题:,等等。

您可以使用PEAR mail,它将使用SMTP帐户。下面是我使用的邮件表单中的一些代码

        $from = "Name <webmaster@domain.com>";
        $to = "Name <address@domain.com>";
        $subject = "Subject";
        $body = 'A message!';

        $host = "ssl://domain.com";
        $port = "465";
        $username = "username";
        $password = "password";

        $headers = array ('From' => $from,
                          'To' => $to,
                          'Subject' => $subject);
        $smtp = Mail::factory('smtp',
                              array ('host' => $host,
                                     'port' => $port,
                                     'auth' => true,
                                     'username' => $username,
                                     'password' => $password));

        $mail = $smtp->send($to, $headers, $body);

        if (PEAR::isError($mail)) {
            echo("<p>" . $mail->getMessage() . "</p>");
        } else {
            echo("<p>Message successfully sent!</p>");
        }
$from=“Name”;
$to=“Name”;
$subject=“subject”;
$body='一条消息!';
$host=”ssl://domain.com";
$port=“465”;
$username=“username”;
$password=“password”;
$headers=数组('From'=>$From,
'至'=>$至,
“主题”=>$Subject);
$smtp=Mail::工厂('smtp',
数组('host'=>$host,
“端口”=>$port,
“auth”=>正确,
“用户名”=>$username,
“密码”=>$password));
$mail=$smtp->send($to、$headers、$body);
if(PEAR::isError($mail)){
echo(“”$mail->getMessage()”

”; }否则{ echo(消息已成功发送!

); }
对不起……这是我在PHP的第八天。这个垃圾邮件过滤器?是我的网络主机的。也感谢你的输入!我学到了一点:)收件人的电子邮件服务器可能会根据黑名单检查收到的邮件,并有检测垃圾邮件的算法,包括反向DNS查找,以检测发送服务器是否是该域电子邮件的授权代理。SMTP将使用实际的电子邮件服务器通过“登录”并发送电子邮件来发送邮件(就像Outlook在配置SMTP服务器时所做的那样)