Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/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中的SMTP电子邮件问题_Php_Email - Fatal编程技术网

Php中的SMTP电子邮件问题

Php中的SMTP电子邮件问题,php,email,Php,Email,我正在尝试使用SMTP用php发送电子邮件。但不知道为什么它没有返回任何内容。 它在没有SMTP的情况下工作正常 我是否需要在托管服务器上添加任何额外的或任何内容? 我的代码: $mail = new PHPMailer(); $mail->IsSMTP(); $mail->CharSet = 'UTF-8'; $mail->SMTPDebug = 0; $mail->SMTPAuth = true; $mail->SMTPSecure = 'ssl'; $ma

我正在尝试使用
SMTP
用php发送电子邮件。但不知道为什么它没有返回任何内容。

它在没有SMTP的情况下工作正常 我是否需要在托管服务器上添加任何额外的或任何内容?

我的代码:

$mail = new PHPMailer();
$mail->IsSMTP();
$mail->CharSet = 'UTF-8';
$mail->SMTPDebug  = 0;
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'ssl';
$mail->Host = "smtp.gmail.com";
$mail->Port = 587;
$mail->IsHTML(true);
$mail->Username = "example@gmail.com";
$mail->Password = "password";

$mail->SetFrom($email);
$mail->Subject = $subject;
$mail->Body = $mail_body;
$mail->AddAddress("info@neelcomputech.com");

if(!$mail->Send())
{
    alert('Mailer Error: ' . $mail->ErrorInfo);
}
else
{
    alert('Success');
}

请试试这个,你会得到解决方案的


您需要从此存储库下载zip文件: 然后需要将
phpmailerautoad.php
class.phpmailer.php
class.smtp.php
文件解压缩到脚本目录中。还添加了
require'phpmailerautoad.php'到PHP文件的顶部。地下仓库
对如何在安装和加载下运行它有很好的解释

还要注意aspin在评论中所说的不应该使用alert();改用echo

if(!$mail->Send()) {
    echo "Mailer Error: " . $mail->ErrorInfo;
} else {
    echo "Success";
}
请尝试以下代码--

    include("class.phpmailer.php"); 
    // You can download class.phpmailer.php from 
    // https://github.com/PHPMailer/PHPMailer/blob/master/class.phpmailer.php

    $mail = new PHPMailer();
    $mail->IsSMTP();
    $mail->CharSet = 'UTF-8';
    $mail->SMTPDebug  = 1;
    $mail->SMTPAuth = true;
    $mail->SMTPSecure = 'tls';
    $mail->Host = "smtp.gmail.com";
    $mail->Port = 587;
    $mail->IsHTML(true);
    $mail->Username = "myid@gmail.com";
    $mail->Password = "mypassword";

    $mail->SetFrom('myid@gmail.com');
    $mail->Subject = 'Test EM';
    $mail->Body = 'Hi!';
    $mail->AddAddress("myid@gmail.com");

    if(!$mail->Send()) {
        print('Mailer Error: ' . $mail->ErrorInfo);
    } else {
        print('Success');
    }

如果您仍然面临任何问题,请告诉我。

警报是javascript。您的代码是用php编写的。尝试使用
echo
而不是
alert
并查看是否打印出来anything@asprin,改变了它。但它并不是在发送电子邮件。如何检查错误?我是php新手,所以不知道。页面上打印的是什么?我看不到任何东西,这就是我为什么在这里发布的原因。基本上,我是dotnet开发人员,所以对php中的错误消息知之甚少。这很奇怪。它应该打印“Success”或“Mailer Error:…”,如果您得到的是空白页,则可能意味着代码根本没有运行。请提供一些演示链接来解释。只有链接不是好答案。