Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.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
smtp在php-Godaddy托管服务中不起作用_Php_Smtp - Fatal编程技术网

smtp在php-Godaddy托管服务中不起作用

smtp在php-Godaddy托管服务中不起作用,php,smtp,Php,Smtp,我试图使用php邮件类,但得到不同的问题 请看一下我的代码 include ("class.phpmailer.php"); $mail = new PHPMailer(); // create a new object $mail->IsSMTP(); // enable SMTP $mail->SMTPDebug =1; // debugging: 1 = errors and messages, 2 = messages only //$mail->SMTPAuth

我试图使用php邮件类,但得到不同的问题

请看一下我的代码

include ("class.phpmailer.php");

$mail = new PHPMailer();  // create a new object
$mail->IsSMTP(); // enable SMTP
$mail->SMTPDebug =1;  // debugging: 1 = errors and messages, 2 = messages only
//$mail->SMTPAuth = true;  // authentication enabled

$mail->Host = 'relay-hosting.secureserver.net';
$mail->Port = 25;
$mail->Username = "admin@****.in"; 
$mail->Password = "******";          
$mail->SetFrom('*****0014@gmail.com', 'User name');
$mail->Subject = 'mailing';
$mail->Body = "<b>Hi, your e- mail has been received.</b>";
$mail->AddAddress("*****0014@gmail.com");
if(!$mail->Send()) {
   $error = 'Mail error: '.$mail->ErrorInfo;
   return false;
} else {
$error = 'Message sent!';
   return true;
}

如果我使用的是Gamil设置,则此代码运行良好。不使用godaddy SMTP设置。

我检查了您的代码,希望没有什么错误原因

  • 端口号/主机声明错误
  • SMTP类不可用
  • 如果以上两个问题都解决了,请通过添加以下额外行来修改代码

    $mail->Host = 'relay-hosting.secureserver.net';
    $mail->Port = 25;
    $mail->SMTPAuth   = true; 
    
    这在我的服务器上运行良好

    从问题开始,它描述了共享主机中SSL SMTP连接的服务器阻塞。因此,让邮件程序使用TLS,为此,请更改端口号和SMTP模式

    $mail->SMTPSecure = "tls";
    $mail->Port = 587;
    
    特别是您告诉我您正在使用godaddy主机,根据问题,将您的主机配置更改为

    $mail->Host = localhost;
    

    首先包括
    include(“phpmailerautoad.php”)
    和PHPmailerAutoload.php将加载一个您需要的类,在您的例子中是class.smtp.php

    include("PHPMailerAutoload.php");
    $mail = new PHPMailer();  // create a new object
    $mail->IsSMTP(); // enable SMTP
    $mail->SMTPDebug =1;  // debugging: 1 = errors and messages, 2 = messages only
    
    $mail->SMTPAuth = true;  // authentication enabled
    $mail->SMTPSecure = "ssl"; // sets the prefix to the servier
    $mail->Host = "box###.bluehost.com"; // sets the SMTP server
    $mail->Port = 465; // set the SMTP port
    
    $mail->Username = "admin@****.in"; 
    $mail->Password = "******";          
    $mail->SetFrom('admin@****.in', 'Sender name');
    $mail->Subject = 'mailing';
    $mail->Body = "<b>Hi, your e- mail has been received.</b>";
    $mail->AddAddress("*****0014@gmail.com", "User name");
    if(!$mail->Send()) {
       $error = 'Mail error: '.$mail->ErrorInfo;
       return false;
    } else {
    $error = 'Message sent!';
       return true;
    }
    
    include(“phpmailerautoad.php”);
    $mail=new PHPMailer();//创建一个新对象
    $mail->IsSMTP();//启用SMTP
    $mail->SMTPDebug=1;//调试:1=错误和消息,2=仅消息
    $mail->SMTPAuth=true;//启用身份验证
    $mail->SMTPSecure=“ssl”//将前缀设置为servier
    $mail->Host=“box####.bluehost.com”//设置SMTP服务器
    $mail->Port=465;//设置SMTP端口
    $mail->Username=“admin@****.in”;
    $mail->Password=“*******”;
    $mail->SetFrom('admin@****.in','Sender name');
    $mail->Subject='mailing';
    $mail->Body=“您好,您的电子邮件已收到。”;
    $mail->AddAddress(“*****0014@gmail.com“,”用户名“);
    如果(!$mail->Send()){
    $error='Mail error:'。$Mail->ErrorInfo;
    返回false;
    }否则{
    $error='消息已发送!';
    返回true;
    }
    
    @vipulsharma,很简单,您不需要直接在“中继主机托管.secureserver.net”中提到主机url,因为您使用的是共享主机,所以您只需将主机目标指向本地主机文件夹。对于共享主机,GoDaddy已经在内部配置了主机设置。在代码中进行以下更改

    $mail->Host= 'localhost';
    $mail->ssl=false;
    $mail->authentication=false;
    $mail->Port=25;
    

    太晚了,但对其他人有帮助

    GoDaddy阻止所有传出SMTP连接,除了它们自己的连接


    打电话给GoDaddy,让他们在服务器上添加SMTP中继(例如gmail SMTP.gmail.com)。

    SMTP与php无关其服务器端不是从php端可能中继禁止端口25上未加密的SMTP连接?您还没有包括使用GoDaddy的phpmailer@vipul SharmaI am的class.SMTP。!Godaddy不允许使用SMTP服务器,如gmail或其他服务器。他们强迫用户使用自己的服务器,我使用了godaddy的SMTP,这是为了降低速度,邮件会在3-5分钟后到达,或者有时根本没有收到邮件,我切换到mail()函数,速度仍然很慢,但比使用godaddy SMTP服务器要好得多。我建议您改用mail()函数。旁注:godaddy是一个可怕的托管提供商服务。SMTP->注意:检查是否连接时捕获EOF SMTP错误:无法验证。获取此错误SMTP->错误:无法连接到服务器:连接被拒绝(111)SMTP错误:无法连接到SMTP主机。Godaddy上的共享主机。但是我不知道如何检查SMTP访问。请告诉我们。您能解释一下更改吗@Mladen@SubinThomasSetForm必须与username的值相同,因为在使用SMTP作为另一个人/电子邮件时,您不能从管理员@****发送电子邮件。您可以在setfrom中设置任何内容。甚至可以CEO@google.com@vipulsharma主机是否支持smtp?你使用共享主机还是VPS?@vipulsharma我只是在bluehost上编辑共享主机的代码。
    $mail->Host= 'localhost';
    $mail->ssl=false;
    $mail->authentication=false;
    $mail->Port=25;