Cześć.
Potrzebuję pomocy bo nie wiem co jest nie tak.
Wysyłam za pomocą phpMailera masowo maile z załącznikiem. Maile dochodzą ale tylko w pierwszym mailu wysłanym jest dodany załącznik.
Mój kod:
<?php
require('includes/PHPMailer-master/PHPMailer-master/PHPMailerAutoload.php');
include_once('includes/config.php');
$mail = new PHPMailer;
//$mail->SMTPDebug = 3; // Enable verbose debug output
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = '***'; // 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->IsHTML(true); // Set email format to HTML
$mail->From = '****';
$mail->FromName = 'kontakt';
$zalacznik = explode(',',$_POST['zalacznik']);
foreach($zalacznik as $item){
$mail->AddAttachment($item);
}
$mail->CharSet = 'UTF-8';
$mail->AltBody = 'This is the body in plain text
for non
-HTML
mail clients
'; $mail->Body;
if (get_magic_quotes_gpc())
$_POST['msg'] = stripslashes($_POST['msg']);
$_POST['msg']=str_replace("\\","",$_POST['msg']).'<br>';
$mail->Subject = $_POST['sub'];
$mail->Body = $_POST['msg'];
$mail->AltBody = 'This is the body in plain text
for non
-HTML
mail clients
';
$emails = explode(',',$_POST['mail']);
foreach($emails as $email){
$mail->AddAddress($email, 'Kontakt'); //do kogo
$now = date('Y/m/d H:i:s');
if($mail->Send())
{
mysqli_query($link,"UPDATE udana_wysylka SET wyslano_do=concat(wyslano_do, ',".$email."||$now') WHERE temat='".$_POST['temat']."'");
echo '<div
class="msg">E
-mail został wysłany
: '.$email.' | '.$_POST['zalacznik
'].'</div
>'; }
else
{
mysqli_query($link,"UPDATE udana_wysylka SET nie_wyslano_do=concat(nie_wyslano_do, ',".$email."||$now') WHERE temat='".$_POST['temat']."'");
echo '<div
class="msg">E
-mail '.$email.' nie mógł zostać wysłany
, przyczyna
:'. $mail->ErrorInfo.'</div
>'; }
$mail->ClearAddresses();
$mail->ClearAttachments();
}
?>