Kategoriler
WordPress

Contact Form 7’de birden fazla alıcı seçeneği

Contact Form 7 ile oluşturduğunuz bir formda kullanıcının formu göndereceği kişiyi/departmanı/şehri/email adresini seçebilmesi.

Contact Form 7 WordPress eklentileri arasında sanırım en popüler olanlardan biri, çok fazla kullanılıyor ve gayet başarılı bir eklenti. Burada pek kullanılmayan veya bilinmeyen diyelim bir seçeneğinden bahsedeceğim, aslında eklentinin de eklentileri var ve onlar bu ayarları koyabiliyor ama benim burada göstereceğim yöntemle manuel yapabilirsiniz.

Normalde Contact Form 7 ile oluşturulan formlarda to/kime kısmına bir veya birden fazla mail adresi yazılabiliyor, CC vea BCC de eklenebilir ancak kullanıcının formu göndereceği departman veya mail adresini seçmesi pek bilinen bir şey değil. Burada bahsedeceğim konu da bu.

Göstereceğim şey Contact Form 7 ile oluşturduğunuz bir formda kullanıcının formu göndereceği kişiyi/email adresini(departmanı da diyebiliriz) seçebilmesi, yani isterse satış bölümüne isterse teknik destek bölümünü seçmesi gibi. Veya kuruluşun belki başka şehirlerde farklı departmanları da olabilir, onlar da eklenebilir.

Bunu aşağıdaki gibi yapabiliyoruz:

[select your-recipient "Website Yöneticisi|admin@example.com"
                       "Yardım|yardim@example.com"
                       "Teknik Destek|teknikdestek@example.com"
                       "Satış|satis@example.com"]

Tam kod aşağıdaki gibi oluyor:

<label> Your Name (required)
    [text* your-name placeholder "Name"] </label>
<label> Your Email (required)
    [email* your-email placeholder "Email"] </label>
<label> Subject
    [text your-subject placeholder "Subject"] </label>

<label>Department</label>
[select your-recipient "Website Yöneticisi|admin@example.com"
                       "Yardım|yardim@example.com"
                       "Teknik Destek|teknikdestek@example.com"
                       "Satış|satis@example.com"]
<label> Your Message
    [textarea your-message placeholder "Message"] </label>
[submit "Send"]

Daha sonra ayarlardan to kısmına [your-recipient] yazıyoruz, burada normalde site yöneticisinin mail adresi vardır.

Ve test edin, çoğu hosting firması özellikle kuçuk olanlar ve Türkiye’dekiler PHP mail özelliğini engelledikleri için(güvenlik nedeniyle, ip adresleri spama düşmesin diye) aşağıda verdiğim SMTP eklentisini de kurup ve ayarlayıp öyle deneyebilirsiniz.

Contact Form 7 eklentisi
WP Mail SMTP by WPForms eklentisi

Buna ek olarak WordPress sitesinden gönderilen her emaili(her şey şifre sıfırlamalar vs. dahil) ek olarak aynı zamanda BCC ile belirlediğiniz bir email adresine de gönderilmesi için ellerimle hazırlamış olduğum bu aşağıdaki fonksiyonumu kullanabilirsiniz.:

/*site üzerinden gönderilen tüm maillere ekler*/
//Gödnerilen email aynı zamanda BCC olarak gönderir
add_filter( 'wp_mail','my_mail');
function my_mail($data){	
$data['headers']="BCC: volkan@wolkanca.com";
return $data;
}
//Gönderilen email kimden gittiğini belirler
add_filter( 'wp_mail_from', function( $email ){
	return 'merhaba@wolkanca.com';
});
//Gönderilen email adını belirler
add_filter( 'wp_mail_from_name', function( $name ){
	return 'Volkan LTD. ŞTİ.';
});

Ayrıca eklentisi ile gönderilen formları WordPress veritabanına da kaydeden bir eklenti de mevcut, mail göndermekte problem yaşansa da veritabanına kaydetmesi kesin olduğu için kullanmanızı öneririm.

Tüm bunlarla uğraşmak size zor geldiyse en kolay tabii ki Google Formlar’ı kullanmak.

Umarım faydalı olmuştur.