10/10/2018, 10:57

Hỏi về hàm mail() trong PHP

Hiện tại mình đang làm một chức năng gửi email cho nhiều người. Hướng giải quyết của mình là dùng vòng lặp for để lấy ra email trong CSDL rồi send cho từng người.

Nhưng mình thấy một số người bảo là nếu như trong CSDL có nhiều record quá thì nó chỉ gửi được cho một vài người thôi. Mình không biết bao nhiêu là nhiều và nếu tạo email để test thì chắc là tiêu tùng mất. Bạn nào biết vấn đề này thì giúp đỡ mình nhé.

Và một vấn để nữa, có những email mình thấy nó có "click here to unsubscibe our email". Và khi click vào thì email của mình sẽ bị remove ra khỏi database. Cái mình không biết là làm cách nào để lấy email của người dùng. Vì thông thường thì mình sẽ cho họ link tới một trang để điền email và sau đó submit.

Mình cũng chỉ mới học php thôi, mong mọi người chỉ giáo.
addme viết 13:10 ngày 10/10/2018
Thông thường máy chủ share host chỉ cho gửi khoảng 100 email mỗi ngày, nếu muốn gửi nhiều hơn nên dùng dịch vụ sendgrid
Bạn nên tạo thêm cột xác nhận trong database, khi email đã được gửi thì update cột đó để đánh dấu là email đã gửi.
gacon.lonton viết 13:10 ngày 10/10/2018
bạn phải có hosting hỗ trợ send mail với hàm này: mail()
tùy theo hosting thôi, unlimited email sending thì vô tư, còn limited mà bạn chạy kiểu send ko kiểm soát sẽ bị suspend host lý do spam :| gây hại tới tài nguyên máy chủ, rất củ chuối nhưng đành chịu ^_^
tabvn viết 13:03 ngày 10/10/2018
Được gửi bởi miller-time2601
Hiện tại mình đang làm một chức năng gửi email cho nhiều người. Hướng giải quyết của mình là dùng vòng lặp for để lấy ra email trong CSDL rồi send cho từng người.

Nhưng mình thấy một số người bảo là nếu như trong CSDL có nhiều record quá thì nó chỉ gửi được cho một vài người thôi. Mình không biết bao nhiêu là nhiều và nếu tạo email để test thì chắc là tiêu tùng mất. Bạn nào biết vấn đề này thì giúp đỡ mình nhé.

Và một vấn để nữa, có những email mình thấy nó có "click here to unsubscibe our email". Và khi click vào thì email của mình sẽ bị remove ra khỏi database. Cái mình không biết là làm cách nào để lấy email của người dùng. Vì thông thường thì mình sẽ cho họ link tới một trang để điền email và sau đó submit.

Mình cũng chỉ mới học php thôi, mong mọi người chỉ giáo.
thông thường gửi mail cho danh sách người dùng mà bạn đã có trong database của bạn thì nên dùng giải pháp cron job + code

bạn copy danh sách mails bạn cần gửi đó sang một table khác (hoặc để nguyên tùy bạn)

cứ sau khi gửi mail cho người nào thì set vào một field nào đó ex: isSent = 1

và dùng cron job chạy file (hoặc link) file gửi mail
trong file gửi mail thì bạn select những mails nào mà "isSent <> 1"limit = 10 hoặc 20 mails cho một lần chạy
.

vậy chắc là ok.

câu cú ngữ pháp hơi lằng nhằng tí, có gì thông cảm nge.
miller-time2601 viết 13:06 ngày 10/10/2018
Thanks các bạn, mình đang test xem. Có gì không hiểu thì mình hỏi thêm.
Bài liên quan
0