Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
19
Cevap
1821
Tıklama
0
Öne Çıkarma
php mail forum - destek gerekiyor.
E
5 yıl
Binbaşı
Konu Sahibi


<?php
require('mail/mail.php');

$mail = new PHPMailer();
$mail->IsSMTP();
$mail->CharSet = "utf-8";
$mail->SMTPDebug = 0;
$mail->SMTPKeepAlive = true;
$mail->SMTPAuth = false;
$mail->SMTPSecure = false;
$mail->SMTPAutoTLS = false;

$mail->Port = port;
$mail->Username = "kullanıcı adım";
$mail->Password = "şifre";
$mail->Host = "mail hosting adresi";
$mail->AddAddress("mail adresim");
/*$mail->AddBCC('gönderilecek diğer mail adresim');*/ //çalışmıyor.

$mail->WordWrap = 75;

$V_userName = $_POST["userName"];
$V_userEmail = $_POST["userEmail"];
$V_mailSubject = $_POST["subject"];
$V_emailSubject = 'Mail Form / ' . $_POST["subject"];
$V_mailMessage = $_POST["content"];

$V_reachType = "None";
if(isset($_POST["reachType"])) {
$V_reachType = implode(", ", $_POST["reachType"]);
}

$mail->SetFrom($V_userEmail, $V_userName);
$mail->AddReplyTo($V_userEmail, $V_userName);
$mail->Subject = $V_emailSubject;
$mail->MsgHTML($V_mailMessage); // standart kullanım
$mail-> MsgHTML(
"Adı ve soyadı : " . $V_userName . "<br>
" .
"Mail adresi : " . $V_userEmail . "<br>
" .
"Ulaşım şekli : " . $V_reachType . "<br>
" .
"Mail konusu : " . $V_emailSubject . "<br>
" .
"Mailin detayı : " . $V_mailMessage
);

if($V_userName == "") {
echo "<p class='error'>* Ad-soyad bölümünü boş bırakmamalısınız.</p>";
} else if($V_userEmail == "") {
echo "<p class='error'>* E-mail bölümünü boş bırakmamalısınız.</p>";
} else if($V_reachType == "") {
echo "<p class='error'>* En az bir tane ulaşım şekli belirtmelisiniz.</p>";
} else if($V_emailSubject == "") {
echo "<p class='error'>* Mesajın konusunu belirtiniz.</p>";
} else if($V_mailMessage == "") {
echo "<p class='error'>* Mesaj içeriğini yazmalısınız.</p>";
} else if(strlen($V_mailMessage) <= 15) {
echo "<p class='error'>* Mesajın içeriği 15 karakterden az olamaz.</p>";
}

$mail->IsHTML(true);

if(!$mail->Send()) {
echo "<p class='error'>Mail gönderilemedi.</p>";
} else {
echo "<p class='success'>Mail başarıyla gönderildi.</p>";
}
?>


Arkadaşlar merhaba. PHP mail form hazırlıyorum. PHP bilgim yok diyebilirim. Bazı konularda desteğe ihtiyacım var. Yardımcı olursanız memnun olurum. Düzenlediğim ve çalışan kod yapısı yukarıdadır.

a) Oluşturulan mesaj bana ulaşıyor ama ikinci mail adresime de gelsin istiyorum. BCC kullanıyorum ama "SMTP Hatası: Belirtilen alıcılara ulaşılamadı:" yazıp BCC'ye tanımladığım hotmail adresini gösteriyor. Sizce ne sorun var? Başka ne deneyebilirim?

$mail->AddBCC('gönderilecek diğer mail adresim');


b) Mesaj gönder butonuna basıldığında tüm hataları aynı anda listelemek istiyorum. Şu an benim yazdığım sırayla ve tek tek gösteriyor. İlk hata mesajını geçince ikinciye takılıyor. Tamamını listeleyemedim.

c) Bu yapı içine 5 mb boyutu geçmeyen dosya ataçlama imkanı vermek istiyorum. Ataç eklenmediyse hata veriyor. Aşağıdaki yapıyı denedim olmadı.

foreach ($_FILES["attachment"]["name"] as $k => $v) {
$mail->AddAttachment( $_FILES["attachment"]["tmp_name"][$k], $_FILES["attachment"]["name"][$k] );

if(isset($_FILES['attachment']) || isset($_FILES["attachment"])) {
$errors = array();
$maxsize = 5242880; // 5mb; 2097152; // 2mb
$acceptable = array(
'application/pdf',
'image/jpeg',
'image/jpg',
'image/gif',
'image/png'
);
};

if(($_FILES['attachment']['size'] >= $maxsize) || ($_FILES["attachment"]["size"] == 0)) {
$errors[] = 'File too large. File must be less than 5 megabytes.';
}

if((!in_array($_FILES['attachment']['type'], $acceptable)) && (!empty($_FILES["attachment"]["type"]))) {
$errors[] = 'Invalid file type. Only PDF, JPG, GIF and PNG types are accepted.';
}

if(count($errors) === 0) {
move_uploaded_file($_FILES['attachment']['tmpname'], '/store/to/location.file');
} else {
foreach($errors as $error) {
echo '<script>alert("'.$error.'");</script>';
}

die(); //Ensure no more processing is done
}


d) "mesaj gönderildi", "mesaj gönderilemedi", "eksik alanlar var" gibi uyarıları yeni sayfada değil aynı sayfada görmek istiyorum.

İlginize teşekkür ederim.

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil





< Bu mesaj bu kişi tarafından değiştirildi erdemmetin -- 15 Şubat 2020; 10:49:53 >

Z
5 yıl
Çavuş

Merhaba, benim sürekli kullandığım tabi böyle bir durum için şunu kullanıyorumhttps://phppot.com/jquery/php-contact-form-with-jquery-ajax/ orada demo var inceleyebilirsin. Tüm dökümanlar ücretsiz indirip deneme yanılma yaparak çözüme ulaşabilirsin. Unutmayın formu yine hazır kütüphane olan phpmailler ile gönderin. Gayet sağlıklı bir kodlama tavsiyemdir bir incele :)


Bu mesaja 1 cevap geldi.
E
5 yıl
Binbaşı
Konu Sahibi

quote:

Orijinalden alıntı: zysistem

Merhaba, benim sürekli kullandığım tabi böyle bir durum için şunu kullanıyorumhttps://phppot.com/jquery/php-contact-form-with-jquery-ajax/ orada demo var inceleyebilirsin. Tüm dökümanlar ücretsiz indirip deneme yanılma yaparak çözüme ulaşabilirsin. Unutmayın formu yine hazır kütüphane olan phpmailler ile gönderin. Gayet sağlıklı bir kodlama tavsiyemdir bir incele :)
inceleyeceğim.teşekkür ederim.



< Bu ileti mini sürüm kullanılarak atıldı >

E
5 yıl
Binbaşı
Konu Sahibi

birçok sorunu çözdüm fakat şu alan ile ilgili sıkıntım devam ediyor.

if($V_userName == "") {
echo "<p class='error'>* Ad-soyad bölümünü boş bırakmamalısınız.</p>";
} else if($V_userEmail == "") {
echo "<p class='error'>* E-mail bölümünü boş bırakmamalısınız.</p>";
} else if($V_reachType == "") {
echo "<p class='error'>* En az bir tane ulaşım şekli belirtmelisiniz.</p>";
} else if($V_emailSubject == "") {
echo "<p class='error'>* Mesajın konusunu belirtiniz.</p>";
} else if($V_mailMessage == "") {
echo "<p class='error'>* Mesaj içeriğini yazmalısınız.</p>";
} else if(strlen($V_mailMessage) <= 15) {
echo "<p class='error'>* Mesajın içeriği 15 karakterden az olamaz.</p>";
}


alanlar boş olsa dahi mesaj önderimi sağlanıyor. if else yapısından else'leri kaldırdım, her şartı ayrı ayrı sorguladım olmadı.

if($V_userName == "" || $V_userName === NULL || $V_userName == NULL || empty($V_userName) ) hiç biri çalışmadı.

eksik alan kontrolü ve eksik alan var ise mesaj gönderilmesin kısmını nasıl sağlayacağım?





Ayrıca, bu yapı içine 5 mb boyutu geçmeyen dosya ataçlama imkanı vermek istiyorum. Ataç eklenmediyse hata veriyor. Aşağıdaki yapıyı denedim olmadı. Destek olur musunuz?

foreach ($_FILES["attachment"]["name"] as $k => $v) {
$mail->AddAttachment( $_FILES["attachment"]["tmp_name"][$k], $_FILES["attachment"]["name"][$k] );

if(isset($_FILES['attachment']) || isset($_FILES["attachment"])) {
$errors = array();
$maxsize = 5242880; // 5mb; 2097152; // 2mb
$acceptable = array(
'application/pdf',
'image/jpeg',
'image/jpg',
'image/gif',
'image/png'
);
};

if(($_FILES['attachment']['size'] >= $maxsize) || ($_FILES["attachment"]["size"] == 0)) {
$errors[] = 'File too large. File must be less than 5 megabytes.';
}

if((!in_array($_FILES['attachment']['type'], $acceptable)) && (!empty($_FILES["attachment"]["type"]))) {
$errors[] = 'Invalid file type. Only PDF, JPG, GIF and PNG types are accepted.';
}

if(count($errors) === 0) {
move_uploaded_file($_FILES['attachment']['tmpname'], '/store/to/location.file');
} else {
foreach($errors as $error) {
echo '<script>alert("'.$error.'");</script>';
}

die(); //Ensure no more processing is done
}



< Bu ileti mini sürüm kullanılarak atıldı >

D
5 yıl
Yarbay

quote:

birçok sorunu çözdüm fakat şu alan ile ilgili sıkıntım devam ediyor.


if($V_userName == "") {

echo "<p class='error'>* Ad-soyad bölümünü boş bırakmamalısınız.</p>";

} else if($V_userEmail == "") {

echo "<p class='error'>* E-mail bölümünü boş bırakmamalısınız.</p>";

} else if($V_reachType == "") {

echo "<p class='error'>* En az bir tane ulaşım şekli belirtmelisiniz.</p>";

} else if($V_emailSubject == "") {

echo "<p class='error'>* Mesajın konusunu belirtiniz.</p>";

} else if($V_mailMessage == "") {

echo "<p class='error'>* Mesaj içeriğini yazmalısınız.</p>";

} else if(strlen($V_mailMessage) <= 15) {

echo "<p class='error'>* Mesajın içeriği 15 karakterden az olamaz.</p>";

}





alanlar boş olsa dahi mesaj önderimi sağlanıyor. if else yapısından else'leri kaldırdım, her şartı ayrı ayrı sorguladım olmadı.



if($V_userName == "" || $V_userName === NULL || $V_userName == NULL || empty($V_userName) ) hiç biri çalışmadı.



eksik alan kontrolü ve eksik alan var ise mesaj gönderilmesin kısmını nasıl sağlayacağım?




Soyle denermisin?


if($V_userName == "") {

echo "<p class='error'>* Ad-soyad bölümünü boş bırakmamalısınız.</p>";

}

if($V_userEmail == "") {

echo "<p class='error'>* E-mail bölümünü boş bırakmamalısınız.</p>";

}

if($V_reachType == "") {

echo "<p class='error'>* En az bir tane ulaşım şekli belirtmelisiniz.</p>";

}

if($V_emailSubject == "") {

echo "<p class='error'>* Mesajın konusunu belirtiniz.</p>";

}

if($V_mailMessage == "") {

echo "<p class='error'>* Mesaj içeriğini yazmalısınız.</p>";

}

if(strlen($V_mailMessage) <= 15) {

echo "<p class='error'>* Mesajın içeriği 15 karakterden az olamaz.</p>";

}





< Bu mesaj bu kişi tarafından değiştirildi dgnzcn -- 17 Şubat 2020; 12:25:31 >
Bu mesaja 1 cevap geldi.
E
5 yıl
Binbaşı
Konu Sahibi

" if else yapısından else'leri kaldırdım, her şartı ayrı ayrı sorguladım olmadı."

denemiştim. olmuyor.



< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @dgnzcn
D
5 yıl
Yarbay

quote:

Orijinalden alıntı: erdemmetin

" if else yapısından else'leri kaldırdım, her şartı ayrı ayrı sorguladım olmadı."

denemiştim. olmuyor.
formdan gelen degisken degerleri ekrana yazdirilabiliyor mu?

ornek:
echo $V_userName; bos birakmadan tek tek kontrol edin degerler ekrana yazdiriliyor mu?

"" yerine null denediniz mi?





< Bu mesaj bu kişi tarafından değiştirildi dgnzcn -- 17 Şubat 2020; 16:38:52 >
Bu mesaja 1 cevap geldi.
E
5 yıl
Binbaşı
Konu Sahibi

echo $V_userName; yaptığımda ismi getiriyor. hatta tüm alanları denedim tamamı geliyor.
"" yerine null denedim çalışmadı.

dikkatimi çeken bazı durumlar oldu.
a) eğer formda tüm alanlar boş ise gönder butonuna basılınca işlem yapılmıyor.
b) herhangibir alan boş ise gönder butonuna basılınca işlem yapılmıyor.
c) email girişinde @ işareti yoksa gönder butonuna basılınca işlem yapılmıyor.
yani yapıya uymayan alan varsa mail gönderimi olmuyor ama hata mesajları gözükmüyor.

Not: iletişim formu html sayfa içinde action alanına php adresini yazdım.



< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @dgnzcn
D
5 yıl
Yarbay

quote:

Orijinalden alıntı: erdemmetin

echo $V_userName; yaptığımda ismi getiriyor. hatta tüm alanları denedim tamamı geliyor.
"" yerine null denedim çalışmadı.

dikkatimi çeken bazı durumlar oldu.
a) eğer formda tüm alanlar boş ise gönder butonuna basılınca işlem yapılmıyor.
b) herhangibir alan boş ise gönder butonuna basılınca işlem yapılmıyor.
c) email girişinde @ işareti yoksa gönder butonuna basılınca işlem yapılmıyor.
yani yapıya uymayan alan varsa mail gönderimi olmuyor ama hata mesajları gözükmüyor.

Not: iletişim formu html sayfa içinde action alanına php adresini yazdım.
dosyalari paylasabilirsen bakmaya calisayim...


Bu mesaja 1 cevap geldi.
E
5 yıl
Binbaşı
Konu Sahibi

quote:

Orijinalden alıntı: dgnzcn

dosyalari paylasabilirsen bakmaya calisayim...

Alıntıları Göster
eline sağlık. zaman ayırıp ilgilendiğin için çok teşekkür ederim. çok makbule geçti.



< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
D
5 yıl
Yarbay

rica ederim...




Bu mesajda bahsedilenler: @-1907fb-
M
5 yıl
Yüzbaşı

diğer mail adresim dediğin gmail mi?

eğer gmailse, güvenlik sıkıntısı olabilir. benim de başıma gelmişti benzer bir durum. google hesap ayarlarıyla çözmüştüm





< Bu mesaj bu kişi tarafından değiştirildi mckoray -- 21 Şubat 2020; 20:54:4 >
Bu mesaja 1 cevap geldi.
O
5 yıl
Çavuş

if($V_userName == "") { die (

* Ad-soyad bölümünü boş bırakmamalısınız.

);
}// birdeböyle dene...





< Bu mesaj bu kişi tarafından değiştirildi ozernet -- 21 Şubat 2020; 22:8:59 >

< Bu ileti DH mobil uygulamasından atıldı >
Bu mesaja 1 cevap geldi.
O
5 yıl
Çavuş

if(!$V_userName) { msg("hata","Hata !!!", "Uye adı boş bırakılamaz .!"); }



< Bu ileti DH mobil uygulamasından atıldı >

E
5 yıl
Binbaşı
Konu Sahibi

quote:

Orijinalden alıntı: mckoray

diğer mail adresim dediğin gmail mi?

eğer gmailse, güvenlik sıkıntısı olabilir. benim de başıma gelmişti benzer bir durum. google hesap ayarlarıyla çözmüştüm
aslında hotmail veya gmail olarak düşünmüştüm ama güvenlik protokollerine takılıyor. bende web adresimin uzantısında ikinci bir mail adresi açıp "maillist" olarak ayarlayıp yönlendirme yapmak istedim.
BCC adres eklediğimde phpmailer hata veriyordu. ben de "AddAddress" alanına ekledim. sorun çözüldü.



< Bu ileti mini sürüm kullanılarak atıldı >

E
5 yıl
Binbaşı
Konu Sahibi

ilgine teşekkür ederim. sorunu çözdüm.
konuyu inceleyen başka arkadaşlar olursa, alan için uzunluk kontrolü de yapabilirler.



< Bu ileti mini sürüm kullanılarak atıldı >


Bu mesajda bahsedilenler: @ozernet
P
5 yıl
Er

merhaba bir makale hazırladım mail göndermek isteyenler için belki işinize yarar:https://forum.donanimhaber.com/php-mailer-ile-mail-gonderme--142157681


Bu mesaja 1 cevap geldi.
E
5 yıl
Binbaşı
Konu Sahibi

quote:

Orijinalden alıntı: Phpprogramlama

merhaba bir makale hazırladım mail göndermek isteyenler için belki işinize yarar:https://forum.donanimhaber.com/php-mailer-ile-mail-gonderme--142157681
düşünce olarak güzel bir sayfa hazırlamışsın. eline sağlık. zamanla daha fazla şey bulunacaktır elbette. Allah muaffak etsin.



< Bu ileti mini sürüm kullanılarak atıldı >

Y
4 yıl
Er

Merhaba, phpde mail gönderimi ile alakalı böyle bir makale kullanmıştım daha öncehttp://yazilimdersi.info/makaleler/detay/111/php-ile-gmail-smtp-kullanarak-email-gonderimi bu makalede de phpmailer kütüphanesi ile gonderim yapılıyordu. Umarim isini görür.



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
E
4 yıl
Binbaşı
Konu Sahibi

işimi çözdüm ama arşivde beklemesinde fayda var. ilgine teşekkür ederim.



< Bu ileti mini sürüm kullanılarak atıldı >


Bu mesajda bahsedilenler: @yazilimcigenc34
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.