Sercans
www.sercansevincer.com.tr
Kullanıcı
-
Üyelik
26.01.2017
-
Yaş/Cinsiyet
30 / E
-
Meslek
Wordpress Developer
-
Konum
İstanbul Avrupa
-
Ad Soyad
S** S**
-
Mesajlar
330
-
Beğeniler
100 / 63
-
Ticaret
0, (%0)
Arkadaşlar aşağıda görüldüğü üzere birden çok kişiye bilgi girişi olduğunda bunları bu girilen kişilerin mail adreslerini alarak foreach döngüsü ile mail atmak istiyorum. Nerede sıkıntı var bir türlü çözemedim fikirlerinizi bekliyorum :/
foreach($isimler as $id) {
WHERE uyeid = $id ;
$gorevi_kaydet = mysqli_query($connn, "INSERT INTO tum_gorevler (`grv_id`, `grv_baslik`,
`grv_icerik`, `grv_baslama_tarih`,
`grv_bitis_tarih`, `grv_onemi`,
`grv_sonuc`,`grv_kisi`,`grv_site`) VALUES (NULL, '$GorevBasligi',
'$GorevAciklama', '$KayitTarihi',
'', '$GorevDurum', 'Bitmedi!','$id','$GorevSite');");
$cek=mysqli_query("select * from uyeler where kadi='$id'");
$satir=$cek->mysqli_fetch_array($cek);
$mail2=$satir["eposta"];
foreach($mail2 as $mailid){
include 'mail/class.phpmailer.php';
$mail = new PHPMailer();
$mail->IsSMTP(); //smtp kullanmak için
$mail->Host = "mail.siteniz.com"; //mail sunucunuz
$mail->Port = 587; //
$mail->SMTPAuth = true; //onayı aktive ediyoruz
$mail->Username = "ali@siteniz.com"; //kullanılacak eposta adresi
$mail->Password = "siteniz"; //şifre
$mail->From = "ali@siteniz.com"; //formdan gelen mail adresi
$mail->FromName = "ali@siteniz.com / Ali Aslan Karaoğlu"; //kim atıyor
$mail->AddAddress($mailid,$id);
$mail->Subject = $GorevBasligi; //formdan gelen konu
$mail->Body = $GorevAciklama; //formdan gelen mesaj
-
Üyelik
20.05.2013
-
Yaş/Cinsiyet
41 / E
-
Meslek
Serbest
-
Konum
İstanbul Avrupa
-
Ad Soyad
M** Y**
-
Mesajlar
1170
-
Beğeniler
216 / 214
-
Ticaret
0, (%0)
Merhaba
mail.siteniz.com kısmının doğru olduğundan emin misiniz. Natro gibi firmalar mail.siteniz.com şeklinde versede SMTP ayarlarına farklı host verebiliyor. Aynı şekilde bir arkadaş için bende çok uğraşmıştım destek mesajı atınca doğru host adresi vermişlerdi.
-
Üyelik
30.04.2014
-
Yaş/Cinsiyet
37 / E
-
Meslek
Satınalma Uzmanı
-
Konum
Manisa
-
Ad Soyad
S** B**
-
Mesajlar
106
-
Beğeniler
24 / 14
-
Ticaret
0, (%0)
ekran çıktısı alıp denermisiniz amil göndermeden $mailid çıktılarını verin ekrana, ben ayrı sayfada mail çağırıyorum siz aynı sayfada yapıyorsunuz sanırım, ilk mail geliyormu manuel olarak sadece bir adet mail ekleyerek göderin;
manuel olarak deneyin,
$mail->AddAddress('gonderilecekadres@siteadi.com', 'gönderilecek kişinin adı soyadı');
Sercans
www.sercansevincer.com.tr
Kullanıcı
-
Üyelik
26.01.2017
-
Yaş/Cinsiyet
30 / E
-
Meslek
Wordpress Developer
-
Konum
İstanbul Avrupa
-
Ad Soyad
S** S**
-
Mesajlar
330
-
Beğeniler
100 / 63
-
Ticaret
0, (%0)
@kozmo @bitirimci mail.siteniz.com kısmı doğru çünkü tek basına denediğimde mail sorunsuz bir şekilde geliyor sorun o döngü kısımlarında karışıyor sanırım. @kozmo nun dediği gibi mailid bir yazdırıp deneyeceğim. Umarım çözebiliriz arkadaşlar bakım bi
-
Üyelik
25.10.2015
-
Yaş/Cinsiyet
30 / E
-
Meslek
Computer Science
-
Konum
İstanbul Anadolu
-
Ad Soyad
Y** A**
-
Mesajlar
71
-
Beğeniler
1 / 19
-
Ticaret
0, (%0)
Kod yarım olduğu için tam olarak nerede ne sorunlar var bilemiyorum ancak paylaşılan kadarında bile problemler mevcut. Öncelikle include 'mail/class.phpmailer.php' satırını loop içerisine alarak defalarca sayfaya dahil edilmesine sebep oluyorsunuz. Bu durumda include yerine include_once fonksiyonunu kullanmanızı öneririm. Ancak daha da verimlisi o satırı loopun dışına çıkarmak olacaktır.
Ek olarak $mail->IsSMTP(); gibi mail ayarlarının yapıldığı fonksiyonların da loop içerisinde her defasında çağırılmasına gerek yok. Yazmış olduğunuz loop sadece
$mail->AddAddress($mailid,$id);
bu satırla ilgili olduğu için bu satır haricindeki satırları olduğu gibi loop'un dışına çıkararak yalnızca alıcı listesini oluşturma kısmını loop içerisine almanız ve tüm ayarlamalar bittikten sonra $mail->send() fonksiyonunu da yine loop'un dışında çağırmanız gerekiyor. Çünkü zaten mailin tüm alıcılara gönderilmesi işini phpmailer hallediyor.
Sercans
www.sercansevincer.com.tr
Kullanıcı
-
Üyelik
26.01.2017
-
Yaş/Cinsiyet
30 / E
-
Meslek
Wordpress Developer
-
Konum
İstanbul Avrupa
-
Ad Soyad
S** S**
-
Mesajlar
330
-
Beğeniler
100 / 63
-
Ticaret
0, (%0)
include "class.phpmailer.php";
if(isset($_POST["yolla"])){
$veri = $_POST['mail'];
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->Host = 'nemesis.alastyr.com';
$mail->Port = 80;
$mail->Username = 'ali@kolektifweb.com';
$mail->Password = 'çali123321';
$mail->SetFrom($mail->Username, 'Sistem Mesajı');
$mail->CharSet = 'UTF-8';
$mail->Subject = 'Sınav Eklendi';
$mail->MsgHTML("deneme");
foreach($veri as $maile)
{
$mail->AddAddress($maile);
$mail->Send();
$mail->ClearAddresses();
$mail->ClearAttachments();
}
}
Kod olarak bu şekilde bir düzenlemeye gidip daha da sadeleştirdim fakat bu sefer aldığım hata.
PHP Warning: Invalid argument supplied for foreach() in /home/kolektif/istakip.kolektifweb.com/admin/deneme.php on line 35
35.satır dediği yer foreach döngünün başladığı yer .
-
Üyelik
22.09.2014
-
Yaş/Cinsiyet
29 / E
-
Meslek
Yazılım
-
Konum
İstanbul Avrupa
-
Ad Soyad
F** D**
-
Mesajlar
46
-
Beğeniler
6 / 10
-
Ticaret
0, (%0)
Şöyle dene bir de;
for($i = 0; $i < count($veri); $i++)
{
$mail->AddAddress((string)$veri[$i],sprintf("%i. adres",$i+1));
$mail->Send();
$mail->ClearAddresses();
$mail->ClearAttachments();
}
AddAdress fonksiyonu 2 paremetleri bu arada, recipient_email_address ve recipient_name. Bu iki parametre de string olmak zorunda.
1 kişi bu mesajı beğendi.
Github: https://github.com/fatihmert | CV: http://fatihmert.dev/