Drupal 7'deki blogumu her güncellediğimde kullanıcıların e-posta almasına nasıl izin verebilirim?


11

Drupal 7'de İngilizce ve Japonca bir blogum var. Bu blogu, yerleşik blog modülünü değil, özel bir içerik türü ve Views kullanarak oluşturdum.

Her dil için bir RSS beslemesi (Views'da yapılmıştır) var. Kullanıcıların "blog" içerik türündeki tüm İngilizce güncellemeleri veya "blog" içerik türündeki tüm Japonca güncellemeleri almak için abone olmalarına izin vermek istiyorum. (Çoğu kullanıcının yalnızca bir dil veya başka bir dil isteyeceğini tahmin ediyorum. Bir kullanıcı her iki dili de gerçekten istiyorsa, iki kez abone olmalarını umursamıyorum.)

RSS beslemelerinde Feedburner kullanarak baktım, ancak Feedburner modülü D7 için güncellenmedi ve harici bir hizmete güvenmemeyi tercih ederim. (Feedburner'ı modül olmadan kurmaya çalıştığımda, destek bağlantısı doğrulamama izin verse de RSS beslememin olmadığını söyledi.)

Ayrıca Simplenews modülüne de baktım , ancak bu modül her bir bülten yayınının ayrı ayrı oluşturulmasını gerektiriyor. Blogda bir güncelleme yayınladığımda abone olan kullanıcılara otomatik olarak e-posta göndermek istiyorum.

Eminim bunu yapmanın bir çok yolu vardır, ancak o kadar çok "posta yardımcısı" tipi modüller vardır, nereden başlayacağımı kaybettim.

Şartlarımı özetlemek için:

  • Uygun dilde yeni bir blog yazısı eklendiğinde abonelere otomatik olarak e-posta gönderin.
  • Hem kimliği doğrulanmış hem de anonim kullanıcılar abone olabilmelidir.
  • Abonelikler onay gerektirmelidir (yasal gereklilik).
  • MIME Mail modülüyle uyumluluk iyi bir bonus olacaktır.

Yanıtlar:


1

Başka bir seçenek de, e-postayı sizin adınıza göndermek için Google Feedburner'ı kullanmaktır.

Daha fazla bilgi için çevrimiçi belgelere bakın .

Google feedburner özet akışlarınızı 'yaktığında', kayıt formu için kullanıcıların gömme kodu alabilirsiniz, böylece kullanıcılar e-posta uyarıları alabilir. Bunun ihtiyaçlarınıza çok iyi uymasının nedeni, her şeyin kaliteli bir RSS yayın kaynağına sahip olması ve Views'un bunu üretebilmesidir. Tek gerçek soru, tam içeriğe mi yoksa yalnızca RSS'de (ve dolayısıyla e-postada) bir teaser'a mı sahip olmak istediğinizdir.

Bunun yukarıdaki bülten / tetikleyici seçeneklerine göre bir başka avantajı, sadece günlük bir özet göndermesi, bu nedenle yakılan her RSS feed'i için günde en fazla 1 e-posta ile gönderilmesidir. Bu, etkin günleriniz olduğunda sadık abonelerinize spam göndermenizi önler.

Google feed brülör özellikleri şunları içerir (doğrudan yukarıdaki belgelerden):

Abonelik yönetimi

  • Listeyi görüntüleme ve sıralama
  • Tek tek e-posta adreslerini etkinleştirme, devre dışı bırakma ve silme
  • Listenizi Excel veya CSV biçiminde dışa aktarma
  • Kullanıcılar aboneliği iptal ettiğinde isteğe bağlı bir e-posta alma

İletişim Tercihleri

  • Abonenizi e-postayla almayı seçtikten sonra abonelere gönderilen e-postanın konu satırını ve gövde metnini özelleştirin. E-postayı yerelleştirmek istiyorsanız bu kullanışlı olabilir.
  • ÖNEMLİ NOT: E-postalar yalnızca metindir ve aboneliği etkinleştirmek için orijinal {{confirmmlink} referansı onay e-postanıza eklenmelidir.

E-posta Markası

  • Abonelerinize gönderilen e-postanın konu satırını ve başlığını özelleştirin
  • HTML e-posta mesajlarının üstünde görünen özel bir logo ekleyin
  • Gövde ve başlık metin yazı tiplerini, boyutlarını ve rengini ve bağlantıların rengini değiştirme

Teslim seçenekleri

  • Saat diliminizi seçin
  • Günlük özetinizin gönderileceği iki saatlik bir teslimat penceresi seçin

Bunu nasıl ayarlayacağınıza ilişkin örnek öğretici bilgileri burada bulabilirsiniz .


Feedburner'ı önerdiğiniz için teşekkürler, ancak orijinal soruda belirtildiği gibi, bunları doğrulayabilmesine rağmen feed'lerimi yakmayı reddetti. Bana verdiği kesin hata, "Kaynak beslemesi getirilirken 400 hata kodu alındı"; ancak, hata sayfasındaki "Bu feed'i doğrula" bağlantısını tıkladığımda, feed'in geçerli olduğunu söylüyor. Ne yazık ki, Feedburner'ın destek seçenekleri de yok.
Patrick Kenny

Aynı hatayla karşılaştım, sorunumuz Google feedburner'ın SSL'yi desteklememesi idi. Kolay çözüm, feed'e HTTP erişimine izin vermektir.
wiifm

1
Beslemelere HTTP erişimine izin vermek bir seçenek değilse, son bir projede RSS beslemesini Google okuyucu aracılığıyla ve ardından Google feedburner'a (dağınık, ancak işe yarıyor) proksiyledik. İşte bu işlemden bir örnek feed: feeds.feedburner.com/TranspowerNewsFeed - transpower.co.nz sitesinin tamamı HTTPS altında güvence altına alındığından
wiifm

Bu yanıtı ödüllendirmek, çünkü bunun, Google Reader aracılığıyla SSL yönlendirmesini yapmak zorunda kalmadan, Feedburner'da kurmak benim için Simplenews kullanmaktan çok daha kolay olduğu ortaya çıktı.
Patrick Kenny

5

Bu kolayca elde edilebilir. Size takip etmeniz için bazı adımlar atabilirim.

Aslında bunu başarmanın en az 2 yolu var

A.Tetikleyicileri Kullanma (çekirdek modül)

  1. İlk önce çekirdek modülü Tetikleyicileri etkinleştirin. Bu size temel tetikleyicileri (durumunuzda GÜNCELLEME tetikleyicisi) ve koşul karşılandığında gerçekleştirilecek eylemleri sağlayacaktır.

  2. Yönetici> Yapılandırma> İşlemler'e gidin, ardından GELİŞMİŞ BİR EYLEM OLUŞTURUN ve ardından şunları seçin: E-posta gönder. Alıcı alanında, kayıtlı tüm kullanıcılarla eşleşmesi için simplenews modülü tarafından sağlanan uygun bir jeton seçmeniz gerekir. (Token modülünün de kurulu olduğundan emin olun)

  3. Yönetici> Yapı> Tetikleyiciler'e, ardından Düğüm sekmesine gidin. Üçüncüyü seçin: TETİKLEYİCİ: GÜNCEL İÇERİĞİ KAYDEDEN SONRA.

Daha fazla kontrole ihtiyacınız varsa kancayı uygulayın

işlevi YOURMODULE_trigger_info_alter (& $ tetikleyiciler) {// Güncelleme tetikleyicinizin nerede olduğunu görmek ve değişiklikleri yapmak için burada dpm ($ tetikleyiciler). }?>

B. Kuralların Kullanılması (katkıda bulunan modül) Aynı şey. Sıkışırsanız, bu blogdaki benzer bir konuda şu adımları izleyin: http://adellefrank.com/blog/how-to-email-notifications-comments-drupal7


1
'TETİKLEYİCİ: YENİ İÇERİK TASARRUFU SONRASI', yazı oluşturma işleminde tek bir e-posta gönderir.
Citricguy

1
Kurallar kullanıyorsanız, Simplenews modülü tarafından sağlanan "E-posta bülteni gönder" eylemi yerine neden "E-posta gönder" eylemini kullanayım?
Patrick Kenny

5

Simplenews modülü ihtiyacınız olan her şeyi yapar. Her blog yayınınızın otomatik olarak bir bülten haline geleceği ve abonelere gönderileceği şekilde yapılandırılabilir. Sadece Simplenews yapılandırmasında haber bülteni kaynağı olarak Blog içerik türünü seçin.

Bunu yapmak için:

  1. Blog içerik türünün açık yapılandırma formu (/ admin / structure / types / manage / blog)
  2. "Yayınlama seçenekleri" sekmesinde "Basit haber bülteni olarak kullan" seçeneğini işaretleyin

Simplenews yapılandırmasında "Haber bülteni kaynağı" seçeneği nerede? Sanırım tüm menülerden geçtim ve buna benzeyen bir şey bulamadım ...
Patrick Kenny

Yukarıdaki güncellenmiş cevaba bakınız.
Eugene Fidelin

1

Programlı olarak yapmak istiyorsanız, bkz. Drupal_mail ($ module, $ key, $ to, $ dil, $ params = array (), $ from = NULL, $ send = TRUE) ,

Düğüm güncellendiğinde hook_node_update ($ düğüm) çağrılır . Kendi oluşturulmuş posta biçiminizi oluşturmak istiyorsanız hook_mail ($ key, & $ message, $ params) kullanın . Bu yüzden önce hook_node_update ve hook_mail olmak üzere 2 kanca yazmalısınız. Hook_node_update içinde hook_mail'inizi çağıracak drupal_mail fonksiyonu yazmalısınız.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.