neden iki mail atıyor sorusunda gelişme
Aşağıdaki kodlarda
if($_POST) {
kısmını devreden çıkarırsam (tabi ona bağlı aldındaki hmtl form kısmını da)
mesaj çift geliyor.
Yok böyle durursa ben gönder tuşuna basarsam (herhangi bir post göndermiyorum sadece gönder tuşuna basıyorum, çünkü zaten mesaj içeriği gönderilen mail ve gönderen gibi bilgiler zaten altta mevcut) o zaman tek mesaj geliyor.
Umarım anlatabildim.
Yani özetle kodlarımı
<?php
if($_POST) {
///////////////////////////////////////////////////////////////////
KODLARIMI BU ALANDAN KURTARMAM LAZIM
(KODLARIN TAMAMI ALTTAKİ KOD BLOĞUNDA
AMA BU KISMI INCELEMEYE GEREK YOK ÇÜNKÜ ÇALIŞIYOR)
///////////////////////////////////////////////////////////////////
} else { ?>
<fieldset>
<legend><h2>İletisim Mesajı</h2></legend>
<form action="" method="post">
<table>
<tr>
<td>mesaj</td>
</tr>
<tr>
<td><textarea name="mesaj" id="" cols="50" rows="10"></textarea></td>
</tr>
<tr>
<td><button type="submit">Gonder</button></td>
</tr>
</table>
</form>
</fieldset>
<?php } ?>
Yukarıdaki yorum satırıları arasında asıl kodlar aşağıdaki gibi
//////////////////////////////////////////////////////////////////////////////////
$isegiris = $db->query("SELECT * FROM tbl_personel WHERE DAYOFMONTH(isegiris) = DAYOFMONTH(NOW())
and MONTH(isegiris) = MONTH(NOW()) and isdurum LIKE 1");
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->CharSet = 'utf-8';
$mail->SMTPAuth = $settings['smtpyetki'];
$mail->Port = $settings['smtpport']; //TLS protokolünün kullanacağı port numarası
$mail->SMTPSecure = $settings['smtpguvenlik']; //kullanacağımız güvenlik protokolü SSL veya TLS olabilir.
$mail->Host = $settings['sendermailserver'];
$mail->Username = $settings['sendermail'];
$mail->Password = $settings['sendermailpass'];
$mail->SetFrom($settings['sendermail'], $settings['mailsendername']);
foreach($isegiris as $row) {
$body = file_get_contents($settings['siteurl'].'/app/MailTemplates/isegiris.html');
$gelen = ["_Name_","_UserID_","_siteurl_","_personelresim_","_fark_"];
$giden = [$row["Name"],$row["UserID"],$settings['siteurl'],$row['staff_picture'],$fark];
$body = str_replace($gelen,$giden,$body);
$mail->addAddress($row['Email']); // Add a recipient
$mail->addReplyTo($eposta, $isim);
}
//Content
$mail->isHTML(true); //mesaj baslıgı
$mail->Subject = 'iletisim mesaji';
//$mail->Body = nl2br($mesaj); // mesaj acıklaması
$mail->Body = $body;
$mail->send();
echo 'mesaj gonderildi';
} catch (Exception $e) {
echo 'mesaj hatası';
}
///////////////////////////////////////////////////////////////////////////////////////
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (0)
Henüz kimse cevap yazmadı. İlk cevap yazan sen ol!