Php 无法重新声明发送邮件()错误
我正在尝试做一个功能,可以检查数据库中的活动客户,其状态为1。如果活动,他们应该收到电子邮件。 对于电子邮件功能,我使用了PHP Mailer函数 以下是我的脚本:Php 无法重新声明发送邮件()错误,php,mysql,Php,Mysql,我正在尝试做一个功能,可以检查数据库中的活动客户,其状态为1。如果活动,他们应该收到电子邮件。 对于电子邮件功能,我使用了PHP Mailer函数 以下是我的脚本: 将您的函数置于循环之外。将您的代码结构更改为此 function Send_mail($email, $subject, $headers, $mail_body, $f_email, $f_name) { ................//code $mail-&
将您的函数置于循环之外。将您的代码结构更改为此
function Send_mail($email, $subject, $headers, $mail_body, $f_email, $f_name)
{
................//code
$mail->Send(); return true;
}
while($row = mysql_fetch_array($sqlx))//use mysqli or PDO
{
.......//code
if($count <= '70')
{
.......//code
$mail_result=Send_mail($email, $subject, $headers, $mail_body,$f_email, $f_name);
}
}
函数Send_mail($email、$subject、$headers、$mail_body、$f_email、$f_name)
{
..//代码
$mail->Send();返回true;
}
while($row=mysql\u fetch\u array($sqlx))//使用mysqli或PDO
{
……代码
如果($count将函数置于循环之外,请将代码结构更改为此
function Send_mail($email, $subject, $headers, $mail_body, $f_email, $f_name)
{
................//code
$mail->Send(); return true;
}
while($row = mysql_fetch_array($sqlx))//use mysqli or PDO
{
.......//code
if($count <= '70')
{
.......//code
$mail_result=Send_mail($email, $subject, $headers, $mail_body,$f_email, $f_name);
}
}
函数Send_mail($email、$subject、$headers、$mail_body、$f_email、$f_name)
{
..//代码
$mail->Send();返回true;
}
while($row=mysql\u fetch\u array($sqlx))//使用mysqli或PDO
{
……代码
如果($count将函数置于循环之外。以下是代码结构:
<?php
include '../mailer/class.phpmailer.php';
function Send_Mail($email, $subject, $headers, $mail_body, $f_email, $f_name)
{
$mail = new PHPMailer();
$Email = $email;
$fname = $f_name;
$femail = $f_email;
//==================smtp mail ===============================//
$mail->IsSMTP(); // telling the class to use SMTP
$mail->SMTPAuth = true;
$mail->Port= 25; // Sets the default SMTP server port.
$mail->SMTPSecure= 'tls'; // Options are "", "ssl" or "tls"
$mail->Host = 'localhost'; // SMTP server
$mail->Username = 'abc@xyz.com'; // Sets SMTP username.
$mail->Password = '1234556'; //Sets SMTP password.
//=========================================================//
$fname = $f_name;
$femail = $f_email; // email address of reciever
$mail->WordWrap = 50; // set word wrap
$mail->IsHTML(true); // send as HTML
$mail->Subject = $subject;// subject of mail
$mail->Body = $mail_body; // body of mail
$mail->Send();
return true;
}
$sqlx = mysql_query("SELECT * from `cust");
$numRows = mysql_num_rows($sqlx);
$mail_body = '';
while($row = mysql_fetch_array($sqlx))
{
// fetch email
$uid = $row["uid"];
$email = $row["email"];
$count = "20";
if($count <= '70')
{
$f_name = "abc";
$f_email = "abc@xyz.com";
$mail_body = "Hii message";
$subject = "Hi you got notificaiton";
$headers = "From: abc <abc@xyz.com>";
$headers .= "Content-type: text/html\r\n";
$mail_result=Send_Mail($email, $subject, $headers, $mail_body,$f_email, $f_name);
}
}
将函数置于循环之外。以下是代码结构:
<?php
include '../mailer/class.phpmailer.php';
function Send_Mail($email, $subject, $headers, $mail_body, $f_email, $f_name)
{
$mail = new PHPMailer();
$Email = $email;
$fname = $f_name;
$femail = $f_email;
//==================smtp mail ===============================//
$mail->IsSMTP(); // telling the class to use SMTP
$mail->SMTPAuth = true;
$mail->Port= 25; // Sets the default SMTP server port.
$mail->SMTPSecure= 'tls'; // Options are "", "ssl" or "tls"
$mail->Host = 'localhost'; // SMTP server
$mail->Username = 'abc@xyz.com'; // Sets SMTP username.
$mail->Password = '1234556'; //Sets SMTP password.
//=========================================================//
$fname = $f_name;
$femail = $f_email; // email address of reciever
$mail->WordWrap = 50; // set word wrap
$mail->IsHTML(true); // send as HTML
$mail->Subject = $subject;// subject of mail
$mail->Body = $mail_body; // body of mail
$mail->Send();
return true;
}
$sqlx = mysql_query("SELECT * from `cust");
$numRows = mysql_num_rows($sqlx);
$mail_body = '';
while($row = mysql_fetch_array($sqlx))
{
// fetch email
$uid = $row["uid"];
$email = $row["email"];
$count = "20";
if($count <= '70')
{
$f_name = "abc";
$f_email = "abc@xyz.com";
$mail_body = "Hii message";
$subject = "Hi you got notificaiton";
$headers = "From: abc <abc@xyz.com>";
$headers .= "Content-type: text/html\r\n";
$mail_result=Send_Mail($email, $subject, $headers, $mail_body,$f_email, $f_name);
}
}
检查您的客户表必须输入您试图发送电子邮件的电子邮件地址。并更改您的
$mail->Port= 587;
$mail->SMTPSecure= 'tls';
$mail->Host = 'smtp.gmail.com';
$mail->Username = 'abc@gmail.com';//Valid Gmail address
$mail->Password = '1234556';//Gmail password
如果仍然出现错误,您可以转到您的gmail帐户设置并允许安全应用程序身份验证。检查您的cust表,必须输入您试图发送电子邮件的电子邮件地址。然后更改您的密码
$mail->Port= 587;
$mail->SMTPSecure= 'tls';
$mail->Host = 'smtp.gmail.com';
$mail->Username = 'abc@gmail.com';//Valid Gmail address
$mail->Password = '1234556';//Gmail password
如果仍然出现错误,您可以转到您的gmail帐户设置并允许安全的应用程序身份验证。切换到mysqli或PDO。然后调用您的函数Send_mail()
其他函数,因为phpMailer显然有一个同名函数。例如mySend_mail())
每次您在新代码中使用数据库扩展时,它都会被弃用,并且已经使用多年,在PHP7中永远消失。如果您只是在学习PHP,请花费精力学习PDO
或mysqli
数据库扩展和准备好的语句。此外,您还将您的函数声明为Send\u mail
和将其称为Send_-Mail
时使用大写字母Myou已经在内部编写了函数,而将其取出并在循环中调用。切换到mysqli或PDO。然后调用函数Send_-Mail()
其他函数,因为phpMailer显然有一个同名函数。例如mySend_-Mail()
每次您在新代码中使用数据库扩展时,它都会被弃用,并且已经使用多年,在PHP7中永远消失。如果您只是在学习PHP,请花费精力学习PDO
或mysqli
数据库扩展和准备好的语句。此外,您还将您的函数声明为Send\u mail
和将其称为Send_-Mail
时使用大写字母Myou已将函数写入内部,同时将其取出并在循环中调用。我尝试了您的代码,但出现错误致命错误:调用未定义的函数Send_-Mail()
我重命名了该函数,但也出现了同样的错误:致命错误:调用未定义的函数mySend_mail()
@RiyaPatel让我们采取一些小步骤:注释整个代码,然后尝试以下操作:while($I==0){$I=1;Send_mail();}函数Send_mail(){echo“hi”}
并查看它是否正在打印hi。它显示两个o错误注意:未定义变量:i in
和致命错误:调用未定义函数Send_mail()在
@RiyaPatel中,该代码应该可以正常工作并打印hi一次。创建一个新的php页面并运行它,不要添加任何其他内容。在这里演示我尝试了您的代码,但出现错误致命错误:调用未定义的函数Send\u mail()
我重命名了该函数,然后也出现相同的错误:致命错误:调用未定义的函数mySend\u mail())
@RiyaPatel让我们采取一些小步骤:注释整个代码并尝试以下操作:while($i==0){$i=1;Send_mail();}函数Send_mail(){echo“hi”}
并查看它是否正在打印hi。它显示两个o错误注意:未定义变量:i in
和致命错误:调用未定义函数Send_mail()在
@RiyaPatel中,代码应该可以正常工作并打印hi一次。创建一个新的php页面并运行它,不要添加任何其他内容。这里的演示遇到相同的错误致命错误:调用未定义的函数Send_Mail()
错误已消失,但收到通知您必须提供至少一个收件人电子邮件地址。您必须提供至少一个收件人电子邮件地址。
检查您的客户表必须输入您尝试发送电子邮件的电子邮件地址。并更改您的SMTP详细信息-----------尝试此项用于GMAIL帐户---------------------$mail->Port=587;$mail->SMTPSecure='tls';$mail->Host='smtp.gmail.com';$mail->Username='abc@gmail.com“;//有效的Gmail地址$mail->Password='1234556';//Gmail密码-------------------------------------------如果仍然收到错误,您可以转到您的Gmail帐户设置并允许安全应用程序验证Ification.getting same错误致命错误:调用未定义的函数Send_Mail()
错误已消失,但收到通知您必须提供至少一个收件人电子邮件地址。您必须提供至少一个收件人电子邮件地址。
检查您的客户表必须输入您尝试发送电子邮件的电子邮件地址。并更改您的SMTP详细信息-----------尝试此项用于GMAIL帐户---------------------$mail->Port=587;$mail->SMTPSecure='tls';$mail->Host='smtp.gmail.com';$mail->Username='abc@gmail.com“;//有效的Gmail地址$mail->Password='1234556';//Gmail密码-------------------------------------------如果仍然收到错误,您可以转到您的Gmail帐户设置