Não é possível redefinir o PHPMailerAutoload ()?
Começo a implementar uma função de envio por e-mail para usuários em massa. Quando clico em uma mensagem, recebo o seguinte erro.
Não é possível redefinir o PHPMailerAutoload () (declarado anteriormente em C: \ xampp \ htdocs \ bloodbank2 \ phpmailer \ PHPMailerAutoload.php: 24) em C: \ xampp \ htdocs \ bloodbank2 \ phpmailer \ PHPMailerAutoload.php na linha 31
No entanto, o primeiro usuário no banco de dados pode receber o email e o restante não.
Aqui estão os meus códigos.
O primeiro é o news.php, que permite que a pessoa publique as notícias.
<?php include 'core/init.php'; ?>
<?php include 'includes/overall/oheader.php';
if (empty($_POST) === false){
$require_fields = array('heading', 'information');
foreach($_POST as $key=>$value){
if(empty($value) && in_array($key, $require_fields) === true){
$errors[] = 'Fields marked with an asterisk are required';
break 1;
}
}
}
if(isset($_GET['success']) && empty($_GET['success'])){
echo 'information posted';
}else{
if(empty($_POST) === false && empty($errors) === true){
$insert_data = array(
'heading' => $_POST['heading'],
'information' => $_POST['information']
);
//
//redirect
mail_users($_POST['heading'], $_POST['information']);
header('Location: news.php?success');
news_data($insert_data);
//exit
exit();
}
?>
<h1>News</h1>
<p>Just a Template</p>
<form action="" method="post">
<ul>
<li>
Heading*:<br>
<textarea rows="2" cols="40" name="heading"maxlength="50"></textarea>
</li>
<li>
information*:<br>
<textarea rows="10" cols="40" name="information"> </textarea>
</li>
<li>
<input type="submit" value="Post" name="save">
</li>
<ul>
<?php
}
include 'includes/overall/ofooter.php'; ?>
O segundo código é a função function mail_user ();
function mail_users($subject, $body){
$query = mysql_query("SELECT `email`, `first_name` FROM `users`");
while(($row = mysql_fetch_assoc($query)) !== false){
$body = "Hello" . $row['first_name'] . ",\n\n" . $body;
email($row['email'], $subject, $body);
}
}
3º é a função de email que a contém o php mailer.
function email($to, $subject, $body){
require '/phpmailer/PHPMailerAutoload.php';
require '/phpmailer/class.phpmailer.php';
error_reporting(-1);
$mail = new PHPMailer(true);
$mail->SMTPDebug = 0; // Enable verbose debug output
$mail->isSMTP(true); // Set mailer to use SMTP
$mail->Host = 'smtp.gmail.com'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = ''; // SMTP username
$mail->Password = ''; // SMTP password
$mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 587; // TCP port to connect to
$mail->setFrom('');
$mail->addAddress(''.$to.''); // Add a recipient
$mail->isHTML(true); // Set Email format to HTML
$mail->Subject = ''.$subject.'';
$mail->Body = ''.$body.'';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent';
}
}
Então, como vou me livrar do erro para que todos os usuários do banco de dados recebam o email?