簡體   English   中英

使用php發送郵件

[英]sending mail using php

我在這里看到過類似的問題,但是,我不能很好地解決我的問題。 我正在嘗試使用php發送郵件...但這不起作用。

<?php
$email_from="admin@crorebook.com";
ini_set("sendmail_from", $email_from);
$headers = "From: $email_from";
mail('gitudrebel94@gmail.com','Registration confirmation','Hihihihihihih','$headers');
?>

它給我在Windows服務器上的以下錯誤:“ SMTP服務器響應:550沒有這樣的用戶在這里”

在nginx服務器上出現以下錯誤:

“服務器遇到內部錯誤或配置錯誤,無法完成您的請求。

請與服務器管理員,網站管理員聯系,並告知他們錯誤發生的時間以及您可能做的任何可能導致錯誤的事情。

服務器錯誤日志中可能會提供有關此錯誤的更多信息。

此外,嘗試使用ErrorDocument處理請求時遇到500內部服務器錯誤錯誤。”

您有外發郵件服務器設置嗎? 如果您在Windows中運行,則需要SMTP服務器;如果是Linux,則需要sendmail或類似的配置並在本地運行的服務器。

SMTP錯誤消息表明它不是開放轉發器-因為它不會讓任何人要求它向其他人/其他地方發送電子郵件……這很好,因為垃圾郵件發送者會使用它。 它可能需要先進行某種身份驗證(您的用戶名/密碼),然后再將電子郵件發送給除計算機本地用戶以外的任何人(例如,計算機上托管的域的電子郵件地址)。

不幸的是,PHP mail()方法無法處理此問題,因此您需要查看第三方軟件包-PEAR mailPHPMailer是不錯的選擇。

要使用PHPMailer完成任務:

require_once /*lib location*/"phpmailer/class.phpmailer.php";
require_once /*lib location*/"phpmailer/class.smtp.php";

$mail=new PHPMailer();
$mail->IsSMTP();
$mail->Host=/*Your host*/;
$mail->Port=465;//For SSL - use this if you can
$mail->SMTPAuth=true;
$mail->SMTPSecure="ssl";
$mail->SMTPDebug=2;//Comment once it works, but the debug info is invaluable
$mail->Username=/*Your username*/;
$mail->Password=/*Your password*/;
$mail->setFrom("admin@crorebook.com");
$mail->Subject='Registration confirmation';
$mail->Body='Hihihihihihih';
$mail->AddAddress('gitudrebel94@gmail.com');
$mail->Send();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM