PDA

Orijinalini görmek için tıklayınız : Chrono Forms mail göndermiyor



vuslat
31-07-2013, 11:44
arkadaşlar merhaba;

sitemde ChronoForms kurdum ve Easy Form Wizard ile deneme formunu oluşturdum ekte linkini veriyorum formu doldurup gönder dediğimde Posta yazılımı etkin değil. Posta gönderilemedi. diye bir uyarı veriyor nette biraz araştırdım 1-2 konu var ve genel ayarlardan Posta türünü SMTP olarak değişin diyor onuda yaptım ama yine aynı uyarıyı veriyor acaba nerede yanlış yapıyorum yardımcı olmanızı rica ederim.

deneme form (http://www.omeryildirim.com/index.php/formlar/deneme1?chronoform=teklfi_1&event=submit)

AcoustiC
31-07-2013, 14:08
Smtp ayarlarını hosting firmandan danışarak yapman gerekebilir, çünkü ayarları en doğru şekilde onlar söyleyebilir.

vuslat
31-07-2013, 15:21
Smtp ayarlarını hosting firmandan danışarak yapman gerekebilir, çünkü ayarları en doğru şekilde onlar söyleyebilir.

merhaba hosting firması şöyle bir cevap göndermiş ama nasıl yapacağımı bilemedim

Php ile form mail işlemleri genelde mail() fonksiyonu kullanılarak yapılır. Fakat bu fonksiyon spam maile müsait olduğu için genelde hosting firmaları tarafından engellenir. Php ile mail göndermenin diğer bir yolu da SMTP protokolünü kullanmaktır. SMTP protokolü sunucuda varolan bir mail hesabıyla oturum açarak, bu hesap üzerinden mail göndermenizi sağlar.

SMTP ile mail göndermek için yazılmış olan çok başarılı bir kütüphane bulunmakta. PHPMailer.

Şimdi PHPMailer'in kullanımını anlatmaya çalışacağım.

İlk önce şu adresten PHPMailer'i indiriyoruz. rar dosyasını açtıktan sonra ihtiyacımız olan class.phpmailer.php ve class.smtp.php dosyalarını formmailimizin bulunduğu dosya ile aynı dizine atıyoruz.

Form mailimizin php kısmındaki kodlar şu şekilde:
01 require_once("class.phpmailer.php");
02 $mail = new PHPMailer();
03
04 $mail->AddAddress("mail@alanadi.com","Bizim Site");
05 $mail->Subject = "İletişim Formu";
06 $mail->Body = "Mail içeriği";
07
08 $mail->IsSMTP();
09 $mail->Host = "mail.alanadi.com";
10 $mail->SMTPAuth = true;
11 $mail->Username = "formmail@alanadi.com";
12 $mail->Password = "123456";
13 $mail->IsHTML(true);
14 $mail->From = $_POST['Email'];
15 $mail->FromName = $_POST['Isim'];
16 $mail->Send();

PHPMailer class'ımızı çağırıyoruz ve bir değişkene atıyoruz.
1 require_once("class.phpmailer.php");
2 $mail = new PHPMailer();

Bundan sonraki kodlar PHPMailer'in özelliklerinin kullanıldığı kodlardır.
1 $mail->AddAddress("mail@alanadi.com","Bizim Site");

Mailin gönderileceği adresi belirtir. Bu satır çoğaltılarak birden fazla adrese mail gönderilebilir.
Ayrıca başka bir satır ekleyerek mailimizi BCC olarak başka adreslere de gönderebiliriz.
1 $mail->AddBCC("mail@baskaalanadi.com","Başka mail");
1 $mail->Subject = "İletişim Formu";

Gidecek mailin başlığını belirtir.
1 $mail->Body = "Mail içeriği";

Mailimizin içeriğini belirtir. Form mail gönderirken genelde tablo olarak gönderilmesini isteriz. Buraya istediğimiz gibi tablo kodlarını ekleyerek gönderilmesini sağlayabiliriz. Yalnız bunun için aşağıda yazmış olduğum $mail->IsHTML(true); kodunu eklemek zorundayız.
1 $mail->IsSMTP();

Kullanacağımız protokolün SMTP olduğunu belirtir.
1 $mail->Host = "mail.alanadi.com";

SMTP sunucu adresi
1 $mail->SMTPAuth = true;

true olarak belirtilmişse sunucuda oturum açılacağı anlamına gelir.
1 $mail->Username = "formmail@alanadi.com";

Mail hesabımızın kullanıcı adı. Genelde mail adresi ile aynı olur.
1 $mail->Password = "123456";

Şifremiz
1 $mail->IsHTML(true);

Göndermek istediğimiz içerikte HTML kodlarına izin verilmesi gerektiğini belirtir.
1 $mail->From = $_POST['Email'];

Gönderilecek mailde kimden kısmını belirtir(E-mail).
1 $mail->FromName = $_POST['Isim'];

Gönderilecek mailde kimden kısmını belirtir(Ad Soyad).
1 $mail->Send();

Maili gönderir.

PHPMailer mail göndermek için 25 nolu portu kullanır. Bazı hosting firmaları ve tabiki internet servis sağlayıcıları 25 numaralı portu engellemektedir. Bu yüzden yeni bir satır ekleyerek kullanılacak portu değiştirmemiz gerekir. Şu anda TTnet 587 numaralı portu açık tutuyor.

AcoustiC
31-07-2013, 15:26
http://forum.joomla.gen.tr/genel-konular/3696-joomla-posta-ayarlari-yapma.html
forum.joomla.gen.tr/genel-konular/3589-joomla-3-0-mail-hatasi.html
http://forum.joomla.gen.tr/genel-konular/3569-gmail-smtp-sorunu.html


Yukarıadki üç konuda da smtp ayarları ile ilegi sorun ve çözümler mevcuttur incelmeni tavsiye ederim ve hostiing firmanın verdiği bilgileride kullanarak kısaca çözebilirsiniz.

vuslat
31-07-2013, 15:34
oradaki ayarları yanen yaptım ama yine olmadı hostingin gönderdiği ayarlarda çok karışık. sanırımben chrono ayarlarında bir sıkıntı yaşıyorum konuyla ilgili yardımcı olabilecek chrono forms u kullanan bir arkadaşımız formu kontrol edebilirmi? ek olarak gönderdim.

vuslat
31-07-2013, 15:53
arkadaşlar bide şunu fark ettim smtp yolu olarak genel ayarlarda bir ibare yok

trafiklife
25-02-2014, 22:50
Aynı sorunu bende de var. Tüm ayarları yapmama rağmen "SMTP bağlantısı başarısız" şeklinde uyarı alıyorum ve iletişim formu mailime gelmiyor. Aynı yerde farklı dizinde joomla 2,5 kurulu onda sorun yok Ama joomla 3.2.2 bu sorunu yaşıyorum nedeni hakkında bilgi verebilirmisiniz.

vuslat
26-02-2014, 17:42
Kardeşim onun çözümünü ne yaptıysam bulamadım bende JNSUniform indirdim bir yerden onu kurdum gayet güzel gönderiyor istersen senle paylaşa bilirim. Chrono ömrümü yedi vallahi o nedenle ilerde belki düzeltirler ama şuan için ben yapamadım.



Aynı sorunu bende de var. Tüm ayarları yapmama rağmen "SMTP bağlantısı başarısız" şeklinde uyarı alıyorum ve iletişim formu mailime gelmiyor. Aynı yerde farklı dizinde joomla 2,5 kurulu onda sorun yok Ama joomla 3.2.2 bu sorunu yaşıyorum nedeni hakkında bilgi verebilirmisiniz.