Eposta bülten aboneliği nasıl yapılır?
Aklıma gelen özellikler şunlar, başka dikkat etmem gerekenler var mı?
- çift kayıt olmasın diye :" şu tarihte eklenmiş aboneliğiniz var" uyarısı içersin,
- eposta türkçe harf kontrolü yapsın, gmail ve hotmail dışında onay vermesin
- eposta adresine onay emaili göndersin ki başkası yerine rastgele abonelik açılmasın,
- sweetalert2 gibi hata ve success ile sonucu versin.
bu konuda nasıl bir yol izlemeli örnek bir video kaynak, kontrol ve güvenlik fonksiyonları,hazır kod örneği vs öneride bulunur musunuz?
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (8)
Öncelikle kullanıcı mail adresini girip "bültene abone ol" butonuna tıkladığında, backend tarafında gerekli kontrolleri sağlarsın.
<?php
// Bulten formundan gelen verilerimiz
$csrfToken = $_POST['csrfToken'];
$mail = $_POST['email']
// csrf kontrolü, kötü amaçlı insanların abone spamı yapmasını engeller
if ($csrfToken == $_SESSION['csrfToken']):
echo "csrf güvenlik";
else:
// gelen değerin gerçekten mail olup olmadığını kontrol ediyoruz
if (filter_var($mail, FILTER_VALIDATE_EMAIL)):
// sadece gmail ve hotmail kabul edilmesi için kontrol sağlıyoruz
if (strstr($mail,'gmail.com') || strstr($mail,'hotmail.com')):
// bu alanda database e bağlanıp bu maili ekliyoruz
// fakat mail onaylanma durumunu 0 olarak kaydediyoruz
// ve kullanıcı mailine doğrulama linki gönderiyoruz
// linke tıklandığında mail onaylanma durumu 1 yapıyoruz
//
// artık database de kayıtlı olan ve durumu 1 olan maillere mail gönderebiliriz
else:
echo 'sadece gmail ve hotmail e izin veriliyor';
endif;
endif;
endif;
Database kısmını ve mail kısmını yazmadım. Mail göndermek için mailer kütüphanesini kullanabilirsin. Database bağlantısı da sana kalmış.
Herşey bittiğinde database'de doğrulanmış yani durumu 1 olan maillere bülten maillerini yine mailer kütüphanesini kullanarak atabilirsin.
Mesela yönetici paneline bir alan yaparsın ve bu alan doğrudan database de kayıtlı maillere mail atar. Veyahut sitende blog alanı olduğunu varsayalım ve her yeni blog paylaşıldığında otomatik buradaki maillere mail atar.
cronları ayarlamak lazım
güzel bir mail alt yapısı kullanmak lazım misal amazon
hostun veya gmail alt yapısı ile toplu maıl atarım dıye dusunuyorsan yanılıyorsun
ayrıca async mantıgınıda kavraman gereklı
ayrıca ınsanlar bır den cok lısteye eklenebılır oyuzden maıl adreslerı benzersız olamaz
yanı bu işe öyle basit gibi bakmayın zaten ilerledikçe göreceksin