lostyazilim
tr.link

Php smtp yardım

7 Mesajlar 865 Okunma
acebozum
tr.link

Sercans 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
 

 

elektronikssl
webimgo

bitirimci bitirimci WM Aracı Kimlik Onayı
  • Ü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.
 

 

kozmo kozmo WM Aracı Kullanıcı
  • Ü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 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
 

 

wmaraci
wmaraci

Nanoripper Nanoripper Hello World! Kullanıcı
  • Ü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 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 .
 

 

fmdogancan fmdogancan WM Aracı Kullanıcı
  • Ü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.
Serhatomer

kişi bu mesajı beğendi.

Github: https://github.com/fatihmert | CV: http://fatihmert.dev/        
wmaraci
wmaraci
Konuyu toplam 3 kişi okuyor. (0 kullanıcı ve 3 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al