Tạo module submit email nhận tin tức

Events happening in the community are now at Drupal community events on www.drupal.org.
hoangbien's picture

Chào các anh em,
Mình làm một form để submit email bằng php, cho người dùng lựa chọn nhận email khi có bài viết mới, hay nhận email một tuần một lần, một tháng một lần. Tức hệ thống sẽ gửi mail theo lựa chọn, chẳng hạn một tuần một lần thì sẽ lọc lấy những bài viết mới trong vòng một tuần từ bảng node và gửi tới tất cả email được submit.
1. Câu lệnh để lấy những bài viết của 7 ngày gần nhất trong bảng node. nhưng ra vẫn chưa đúng check hoài mà ko ra.

<?php
$result_node
= @mysql_query("select nid, title, created AS node_created,
   DATE_FORMAT((FROM_UNIXTIME(created) + INTERVAL 7200 SECOND), '%Y%m%d') from epivac_node where created >= CURRENT_TIME - 604800"
);
while(
$row = @mysql_fetch_array($result_node))
{
$body = '<a href="http://localhost/drupal/node/'.$row['nid'].'">'.$row["title"]."</a><br>".$row["node_created"];
  
$mail->Body = $body;
}
?>

2. Từ mã php mình muốn viết một module drupal 7 để thực hiện công việc này nhờ mọi người hướng dẫn.
Dưới đây là file đơn giản mình đang test.
Mong mọi người hướng dẫn cách xử lý,
AttachmentSize
sendmail.php_.txt2.76 KB
register.php_.txt4.28 KB

Comments

Bạn có thể dùng module đã xây dựng sẵn

nguyentran's picture

http://drupal.org/project/newsletter
Hoặc bạn có thể xem đây là code tham khảo.

Cảm ơn các bạn

hoangbien's picture

Mình đã viết một module cho cái này, nhưng viết được phần đăng ký nhận email thôi. còn phần gửi email mình dung phpmailler rồi cho cron của web nó chạy và gửi đi. mọi thứ có vẻ ok, nhưng lại bị lỗi font chữ. các chữ tiếng việt như title được lấy trong cơ sở dữ liệu ra để gửi đi. đều bị lỗi font không thể đọc được mặc dù mình đã chọn lưu file là utf-8. gửi đi cũng theo utf-8 mà ko được.

<?php
  
if($language == 'en')
    {
     
$mail->Body = '<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head><body>
        <table width="546" border="1" cellpadding="0" cellspacing="0" align="center">
  <img src="http://vnfetp.wiwisol.com/sites/all/themes/fetvntheme/logo.png" width="546" height="98"><br><p>
  '
.$body.'</p>
</table><table width="546" border="0" align="center"><p>You want to unsubcibe email? click <a href="http://vnfetp.wiwisol.com/node/117" target="_blank">here</a></p></table></body></html>'
;
    }else{
    
$mail->Body = '<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head><body>
        <table width="546" border="1" cellpadding="0" cellspacing="0" align="center">
  <img src="http://vnfetp.wiwisol.com/sites/all/themes/fetvntheme/logo.png" width="546" height="98"><br><p>
  '
.$body.'</p>
</table><table width="546" border="0" align="center"><p>Bạn muốn hủy đăng ký nhận tin tức? chọn <a href="http://vnfetp.wiwisol.com/vi/node/119" target="_blank">ở đây</a></p></table></body></html>'
;
   }
 
$mail->Send();
?>

Cảm ơn mọi người,

HOANG BIEN

Cảm ơn các bạn

hoangbien's picture

Mình đã viết một module cho cái này, nhưng viết được phần đăng ký nhận email thôi. còn phần gửi email mình dung phpmailler rồi cho cron của web nó chạy và gửi đi. mọi thứ có vẻ ok, nhưng lại bị lỗi font chữ. các chữ tiếng việt như title được lấy trong cơ sở dữ liệu ra để gửi đi. đều bị lỗi font không thể đọc được mặc dù mình đã chọn lưu file là utf-8. gửi đi cũng theo utf-8 mà ko được.

<?php
  
if($language == 'en')
    {
     
$mail->Body = '<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head><body>
        <table width="546" border="1" cellpadding="0" cellspacing="0" align="center">
  <img src="http://vnfetp.wiwisol.com/sites/all/themes/fetvntheme/logo.png" width="546" height="98"><br><p>
  '
.$body.'</p>
</table><table width="546" border="0" align="center"><p>You want to unsubcibe email? click <a href="http://vnfetp.wiwisol.com/node/117" target="_blank">here</a></p></table></body></html>'
;
    }else{
    
$mail->Body = '<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head><body>
        <table width="546" border="1" cellpadding="0" cellspacing="0" align="center">
  <img src="http://vnfetp.wiwisol.com/sites/all/themes/fetvntheme/logo.png" width="546" height="98"><br><p>
  '
.$body.'</p>
</table><table width="546" border="0" align="center"><p>Bạn muốn hủy đăng ký nhận tin tức? chọn <a href="http://vnfetp.wiwisol.com/vi/node/119" target="_blank">ở đây</a></p></table></body></html>'
;
   }
 
$mail->Send();
?>

Cảm ơn mọi người,

HOANG BIEN

Gộp code vào

luatviettin's picture

Bạn nên học cách viết code gộp lại nhé, không cần phải lặp lại thía kia đâu ! còn phải mang tính tùy biến cao nữa chứ !

Mình cũng muốn vậy

hoangbien's picture

Mình cũng muốn làm gộp lại cho nó linh hoạt. Nhưng phần gửi mail khác phức tạp khi phải lọc lội dung theo lựa chọn của người dùng. đây là module mình đang thử nghiệm http://vnfetp.wiwisol.com/content/email-update
Nếu bạn có thể phát triển tiếp module này cho mọi người cùng dùng mình sẽ gửi cho bạn.

Cảm ơn bạn,

HOANG BIEN

Mình cũng đang rất cần module

vannamnd87's picture

Mình cũng đang rất cần module này, hiện giờ đang khó 1 điều là nên gửi mail khuyến mại 1 ngày 1 lần hay cứ có khuyến mại là gửi, nếu gửi nhiều quá sợ nó cho vào spam thì hỏng

Good web site! I truly love

hughellison20's picture

Good web site! I truly love how it is easy on my eyes and the data are well written. I'm wondering how I might be notified whenever a new post has been made. I've subscribed to your RSS feed which must do the trick! Have a nice day! part time cleaner

As I website possessor I

hughellison20's picture

As I website possessor I believe the information here is rattling fantastic , appreciate it for your time and effort. You should keep it up forever! Good Luck. suplemento para queimar gordura

Tích hợp vào site

tranlinhtanbinh's picture

Mình cũng đã rất cần cái này nhưng không hiểu cách tích hợp vào site php như thế nào
mình muốn cho khách đăng ký nhận email mỗi khi có sản phẩm mới về. tại sản phẩm của mình đôi lúc chưa có để bán cho khác, do đó khác phải chờ.
Bạn nào có thể giúp mình về việc này không ta, có phí cafe :)
site của mình: Dienmaytanbinh.com

Mình nghĩ

FPT Quy Nhơn's picture

Bạn gửi nhiều như vậy là spam mất rồi, k nên đâu bạn