Tập lệnh PHP để gửi thư bị trì hoãn. Danh sách gửi thư trong PHP và MySQL Trình soạn thảo WYSIWYG tiện lợi

Bản tin PHP là công cụ dành cho nhà tiếp thị qua email để sắp xếp các bản tin email từ trang web của bạn, bất kỳ thông tin nào. Tập lệnh dễ sử dụng, dễ cài đặt, cấu hình phổ biến và yêu cầu lưu trữ tối thiểu. Bản tin PHP được viết bằng PHP, có nhiều chức năng và tính năng hữu ích như tạo danh sách gửi thư được sắp xếp theo danh mục, trình chỉnh sửa trực quan các mẫu thư, gửi thư có tệp đính kèm, gửi qua máy chủ SMTP, nhập/xuất cơ sở dữ liệu các địa chỉ email, quản lý người đăng ký, thư trả lời tự động, thống kê gửi thư và nhiều hơn thế nữa dành cho nhà tiếp thị qua email.
Yêu cầu

PHP 5.3 trở lên
- Cơ sở dữ liệu MySQL 4.1 trở lên
-Thư()
-Biểu tượng
- Chuỗi MB
- Zip

Khả năng

Bản tin PHP có mọi thứ bạn cần để tạo, gửi và theo dõi các bản tin E-mail. Bao gồm các tính năng:

  • Trình soạn thảo WYSIWYG tiện lợi

Trình soạn thảo WYSIWYG tích hợp cho phép bạn tạo và chỉnh sửa các mẫu thư. Bạn có thể định dạng văn bản, tải lên và chèn hình ảnh, thêm liên kết, v.v.

  • Gửi thư qua máy chủ smtp, mail() và sendmail

Bản tin PHP có thể gửi thư thông qua hàm PHP tiêu chuẩn mail() và qua máy chủ smtp bằng cách sử dụng ổ cắm hoặc đại lý chuyển thư sendmail;

  • Trả lời tự động

Bạn có thể tạo danh sách gửi thư, sau đó danh sách này sẽ được tự động gửi theo thứ tự nhất định theo lịch trình. Tất cả những gì bạn cần là thiết lập cron và tạo danh sách gửi thư.

  • Mẫu đăng ký bản tin với tùy chọn hủy đăng ký

Bản tin PHP cho phép bạn tạo các biểu mẫu đăng ký bản tin và hủy đăng ký. Bạn có thể thêm biểu mẫu vào trang web của mình; để thực hiện việc này, hãy đặt mã html của biểu mẫu trên trang web của bạn.

  • Chọn định dạng gửi thư (thuần túy và html)

Bạn có thể tạo các chữ cái HTML hấp dẫn hoặc email văn bản thuần túy bằng trình chỉnh sửa mẫu email tích hợp.

  • Hỗ trợ hầu hết các mã hóa được biết đến

Bản tin PHP hỗ trợ hơn 35 bộ ký tự quốc gia khác nhau.

  • Thêm và gửi tệp đính kèm

Tập lệnh bao gồm hỗ trợ đầy đủ để tải xuống và gửi tệp đính kèm.

  • Thêm tiêu đề Ưu tiên tiêu chuẩn (hàng loạt, rác hoặc danh sách) và danh sách hủy đăng ký vào danh sách gửi thư

Để tránh email của bạn bị phân loại là thư rác, bạn nên thêm các tiêu đề Ưu tiên (hàng loạt, rác hoặc danh sách) và danh sách hủy đăng ký vào danh sách gửi thư.

  • Thêm chữ ký DKIM vào tiêu đề email

Để nâng cao chất lượng phân loại và nhận dạng email hợp pháp, Bản tin PHP cho phép bạn thêm chữ ký DKIM (công nghệ xác thực người gửi email bằng cách thêm chữ ký số liên kết với tên miền) vào tiêu đề của email đã gửi.

  • Cá nhân hóa chữ cái

Cá nhân hóa email là một trong những cách hiệu quả nhất để tạo ấn tượng tốt đầu tiên với người nhận email của bạn bởi vì, theo thống kê, email được cá nhân hóa có nhiều khả năng được mở và đọc hơn. Thêm thẻ vào mẫu email TÊN và nó sẽ tự động được thay thế bằng tên của người đăng ký.

  • Tạo danh sách gửi thư không giới hạn
  • Quản lý danh sách thuê bao

Thông qua giao diện web, bạn có thể quản lý danh sách thuê bao: xem, thêm, sửa, xóa thuê bao.

  • Nhập/xuất địa chỉ email

Bản tin PHP cung cấp một công cụ để nhập và xuất địa chỉ email. Bạn có thể nhập dữ liệu từ văn bản thông thường hoặc tệp MS Excel, cũng như xuất dữ liệu sang tệp văn bản và MS Excel.

  • Nhật ký gửi thư

Với mỗi lần gửi thư sẽ thống kê chi tiết số lượng thư đã gửi và chưa gửi. Bạn cũng có thể nhận thông tin về số lượng người dùng đã mở email. Ngoài ra, bạn có thể xuất số liệu thống kê sang tệp MS Excel.

  • Giao diện web từ quản trị viên

Để vận hành và quản lý bản tin của mình, bạn được cung cấp bảng quản trị thuận tiện và khá dễ sử dụng, có thể truy cập qua giao diện web. Một số lượng lớn cài đặt sẽ cho phép bạn nhanh chóng tinh chỉnh hệ thống theo yêu cầu của mình.

  • Thuật sĩ cài đặt

Việc cài đặt rất dễ dàng để chạy từ trình duyệt web của bạn. Bạn sẽ cần phải nhập quyền truy cập cơ sở dữ liệu và tiếp tục cài đặt, sau đó trình hướng dẫn cài đặt sẽ thực hiện tất cả các hành động cần thiết.

Có gì mới trong phiên bản 4.1.x

Cài đặt

  • Giải nén bản phân phối vào bất kỳ thư mục nào trên trang web của bạn, ví dụ: vào "/phpnewsletter" Bạn có thể cài đặt nó trong thư mục gốc;
  • Khởi chạy trình hướng dẫn cài đặt bằng cách nhập vào trình duyệt của bạn: http://your_site/pack_with_script/install/;
  • Sau quy trình cài đặt, hãy xóa thư mục "/phpnewsletter/install/".

*Nếu vì lý do nào đó bạn không thể cài đặt từ trình hướng dẫn cài đặt, bạn có thể cài đặt tập lệnh theo cách thủ công.

  • Đặt truy vấn SQL vào bảng cơ sở dữ liệu MySQL từ tệp dump.sql. Việc này dễ thực hiện hơn thông qua giao diện web, chẳng hạn như thông qua phpMyAdmin, được hầu hết các nhà cung cấp dịch vụ lưu trữ cung cấp.

Sau khi bạn đã đặt các bảng vào cơ sở dữ liệu, hãy mở tệp config/default.config.php trong bất kỳ trình soạn thảo văn bản nào và nhập các tham số để kết nối với cơ sở dữ liệu MySQL. trong đó $PNSL["config"]["db"]["host"] – Địa chỉ máy chủ MySQL, $PNSL["config"]["db"]["name"] – tên cơ sở dữ liệu, $PNSL["config " ]["db"]["user"] – tên người dùng, $PNSL["config"]["db"]["passwd"] – mật khẩu. Lưu nó dưới tên config.php Để vào bảng quản trị, nhập mật khẩu 1111

Cài đặt

  • Thêm mẫu đăng ký bản tin vào trang web của bạn
$url = "http://your_site/phpnewsletter/?task=subform""; $get_content = file($url); $get_content = implode($get_content, "\r\n"); preg_match("/
(.*)<\/div>/isU", $get_content, $out); echo $out;
  • Đối với các trang web tĩnh thông thường, dán mã html:
Tên
E-mail
  • Thiết lập phân phối qua máy chủ smtp

Để gửi bản tin qua máy chủ smtp, hãy làm theo các bước dưới đây. Đi tới bảng quản trị, sau đó đến phần “Cài đặt” và trong tab “Máy chủ SMTP”, chỉ định máy chủ smtp, thông tin đăng nhập, mật khẩu và cổng máy chủ smtp (mặc định 25).

  • Thiết lập gửi thư qua Mail.ru

Email của quản trị viên: [email được bảo vệ]
Đăng nhập hộp thư: [email được bảo vệ]
Mật khẩu: qwerty
máy chủ smtp: smtp.mail.ru
Cổng smtp máy chủ: 25
Phương thức xác thực: ĐĂNG NHẬP

  • Thiết lập gửi email qua Gmail

Email của quản trị viên: [email được bảo vệ]
Đăng nhập hộp thư: [email được bảo vệ]
Mật khẩu: qwerty
máy chủ smtp: smtp.gmail.com
Cổng smtp máy chủ: 465

Phương thức xác thực: ĐĂNG NHẬP
Phương thức gửi: Máy chủ SMTP

  • Thiết lập gửi thư qua thư Yandex

Email của quản trị viên: [email được bảo vệ]
Đăng nhập hộp thư: vasyapupkin
Mật khẩu: qwerty
máy chủ smtp: smtp.yandex.ru
Cổng smtp máy chủ: 465
Kết nối thông qua kết nối an toàn (SSL): Có
Phương thức xác thực: ĐĂNG NHẬP
Phương thức gửi: Máy chủ SMTP
Thêm chữ ký DKIM

Trước tiên, bạn cần tạo khóa DKIM. Hãy sử dụng dịch vụ trực tuyến http://dkim.worxware.com/createkeys.php

Trong trường "Tên miền", hãy chỉ ra tên miền của bạn và trong trường "Danh tính" cho biết địa chỉ email mà bạn đã chỉ định trong cài đặt Bản tin PHP trong "E-mail". Sau khi bạn đã điền vào tất cả các trường của biểu mẫu, hãy nhấp vào nút “Gửi”. Sau đó, một liên kết đến kho lưu trữ zip sẽ xuất hiện. Nhấp vào liên kết này để tải kho lưu trữ xuống máy tính của bạn, sau đó giải nén nó. Nó phải chứa 4 tệp: .htkeyprivate (khóa riêng), .htkeypublic (khóa chung), DNS _resource_record.txt và PHPM ailer_code_plus_instructions.txt Sao chép .htkeyprivate vào máy chủ web trong thư mục keyprivate.

Mở tệp PHPMailer_code_plus_instructions.txt Tiếp theo, đi tới bảng quản trị, trong phần “Cài đặt” trong tab “Tùy chọn gửi thư”, trong trường “Cài đặt chữ ký DKIM”, điền vào các giá trị được chỉ định trong PHPMailer_code_plus_instructions.txt Trong trường “Tên miền đã ký”, nhập giá trị từ $mail->DKIM_domain, trong trường “Bộ chọn” từ $mail->DKIM_selector, trong trường “Từ khóa” từ $mail->DKIM_passphrase và trong “Nhận dạng đã ký ” trường địa chỉ email được chỉ định trong cài đặt của bạn trong “E-mail” Chọn hộp “Thêm chữ ký DKIM vào tiêu đề email” và nhấp vào “áp dụng”.

Đó chưa phải là tất cả. Để có thể xác nhận tính hợp lệ của máy chủ của người gửi bằng bản ghi DNS của nó, bạn cần thêm DKIM vào bản ghi txt trong cấu hình DNS. Để thực hiện việc này, bạn cần vào bảng điều khiển miền (để thực hiện việc này, bạn phải có quyền quản trị viên đối với miền này). Chúng tôi lấy giá trị của bản ghi này từ tệp DNS _resource_record.txt.

tái bút Để biết thêm thông tin về tập lệnh, hãy đọc nguồn readme.

PHP 5.4 trở lên;
- Cơ sở dữ liệu MySQL 5.0 trở lên;
- Thư();
- Iconv;
- Chuỗi MB;
- Khóa kéo;
- Xoăn

Khả năng

Bản tin PHP có mọi thứ bạn cần để tạo, gửi và theo dõi các bản tin E-mail. Phần mềm đầy đủ tính năng này được thiết kế cho các nhà tiếp thị qua email, bao gồm các tính năng hữu ích sau:

Trình soạn thảo WYSIWYG tiện lợi

Trình soạn thảo WYSIWYG tích hợp cho phép bạn tạo và chỉnh sửa các mẫu thư. Bạn có thể định dạng văn bản, tải lên và chèn hình ảnh, thêm liên kết, v.v.

Bạn có thể tạo danh sách gửi thư, sau đó danh sách này sẽ được tự động gửi theo thứ tự nhất định theo lịch trình. Tất cả những gì bạn cần là thiết lập cron và tạo danh sách gửi thư.

Bản tin PHP cho phép bạn tạo các biểu mẫu đăng ký bản tin và hủy đăng ký. Bạn có thể thêm biểu mẫu vào trang web của mình; để thực hiện việc này, hãy đặt mã html của biểu mẫu trên trang web của bạn.

Bạn có thể tạo các chữ cái HTML hấp dẫn hoặc email văn bản thông thường bằng trình chỉnh sửa mẫu email tích hợp.

Hỗ trợ hầu hết các mã hóa được biết đến

Bản tin PHP hỗ trợ hơn 35 bộ ký tự quốc gia khác nhau.

Thêm và gửi tệp đính kèm

Tập lệnh bao gồm hỗ trợ đầy đủ để tải xuống và gửi tệp đính kèm cùng với bản tin của bạn.

Để tránh email của bạn bị phân loại là thư rác, bạn nên thêm các tiêu đề Ưu tiên (hàng loạt, rác hoặc danh sách) và danh sách hủy đăng ký vào danh sách gửi thư.

Thêm chữ ký DKIM vào tiêu đề email

Để nâng cao chất lượng phân loại và nhận dạng email hợp pháp, Bản tin PHP cho phép bạn thêm chữ ký DKIM (công nghệ xác thực người gửi email bằng cách thêm chữ ký số liên kết với tên miền) vào tiêu đề của email đã gửi.

Cá nhân hóa chữ cái

Cá nhân hóa email là một trong những cách hiệu quả nhất để tạo ấn tượng tốt đầu tiên với người nhận email của bạn bởi vì, theo thống kê, email được cá nhân hóa có nhiều khả năng được mở và đọc hơn. Thêm thẻ %NAME% vào mẫu thư và nó sẽ tự động được thay thế bằng tên của người đăng ký.

Quản lý danh sách thuê bao

Thông qua giao diện web, bạn có thể quản lý danh sách thuê bao: xem, thêm, sửa, xóa thuê bao.

Nhập/xuất địa chỉ email

Bản tin PHP cung cấp một công cụ để nhập và xuất địa chỉ email. Bạn có thể nhập dữ liệu từ văn bản thông thường hoặc tệp MS Excel, cũng như xuất dữ liệu sang tệp văn bản và MS Excel.

Với mỗi lần gửi thư sẽ thống kê chi tiết số lượng thư đã gửi và chưa gửi. Bạn cũng có thể nhận thông tin về số lượng người dùng đã mở email. Ngoài ra, bạn có thể xuất số liệu thống kê sang tệp MS Excel.

Giao diện web từ quản trị viên

Để vận hành và quản lý bản tin của mình, bạn được cung cấp bảng quản trị thuận tiện và khá dễ sử dụng, có thể truy cập qua giao diện web. Một số lượng lớn cài đặt sẽ cho phép bạn nhanh chóng định cấu hình hệ thống phù hợp với yêu cầu của mình.

Thuật sĩ cài đặt

Việc cài đặt tập lệnh PHP có thể được khởi chạy dễ dàng từ trình duyệt web của bạn, do đó Bản tin PHP cung cấp cho bạn một công cụ cài đặt tập lệnh thuận tiện. Bạn chỉ cần nhập quyền truy cập cơ sở dữ liệu và tiếp tục cài đặt, trình hướng dẫn cài đặt sẽ thực hiện tất cả các hành động cần thiết.

Có gì mới trong phiên bản 5.3.x

Thay thế ngẫu nhiên bảng chữ cái Cyrillic bằng bảng chữ cái Latinh (bỏ qua bộ lọc thư rác);
- lỗi cố định.

Cài đặt

  1. Giải nén bản phân phối vào bất kỳ thư mục nào trên trang web của bạn, ví dụ: vào "/phpnewsletter" Bạn có thể cài đặt nó trong thư mục gốc;
  2. Khởi chạy trình hướng dẫn cài đặt bằng cách nhập vào trình duyệt của bạn: http://your_site/pack_with_script/install/;
  3. Sau quy trình cài đặt, hãy xóa thư mục "/phpnewsletter/install/".

Cài đặt

Thêm mẫu đăng ký bản tin vào trang web của bạn

    $url = "http://your_site/phpnewsletter/?t=subform";

    echo $out [ 1 ] ;

Đối với các trang web tĩnh thông thường, dán mã html:

Tên
E-mail

Thiết lập phân phối qua máy chủ smtp

Để gửi bản tin qua máy chủ smtp, hãy làm theo các bước dưới đây. Chuyển đến bảng quản trị, sau đó đến phần "Cài đặt" và trong tab "Máy chủ SMTP", chỉ định máy chủ smtp, thông tin đăng nhập, mật khẩu và cổng máy chủ smtp (mặc định 25).

Thiết lập gửi thư qua Mail.ru

E-mail:
Địa chỉ email này đã được bảo vệ từ spam bots. Bạn phải kích hoạt JavaScript để xem nó.
máy chủ smtp: smtp.mail.ru (smtp.list.ru / smtp.bk.ru / smtp.inbox.ru)
Cổng smtp máy chủ: 465
Phương thức xác thực: ĐĂNG NHẬP

Phương thức gửi: Máy chủ SMTP

Thiết lập gửi email qua Gmail

E-mail: Địa chỉ email này đã được bảo vệ từ spam bots. Bạn phải kích hoạt JavaScript để xem nó.
Đăng nhập/mật khẩu hộp thư: tên hộp thư đầy đủ ( Địa chỉ email này đã được bảo vệ từ spam bots. Bạn phải kích hoạt JavaScript để xem nó.), Mật khẩu cho hộp thư của bạn

Máy chủ smtp: smtp.gmail.com
Cổng smtp máy chủ: 465
Kết nối thông qua kết nối an toàn (SSL): Có
Phương thức xác thực: ĐĂNG NHẬP
Phương thức gửi: Máy chủ SMTP

Thiết lập gửi thư qua thư Yandex

E-mail: Địa chỉ email này đã được bảo vệ từ spam bots. Bạn phải kích hoạt JavaScript để xem nó.
Đăng nhập/mật khẩu hộp thư: tên hộp thư đầy đủ ( Địa chỉ email này đã được bảo vệ từ spam bots. Bạn phải kích hoạt JavaScript để xem nó.), Mật khẩu cho hộp thư của bạn
máy chủ smtp: smtp.yandex.ru
Cổng smtp máy chủ: 465
Kết nối thông qua kết nối an toàn (SSL): Có
Phương thức xác thực: ĐĂNG NHẬP
Phương thức gửi: Máy chủ SMTP

Thiết lập gửi thư qua mail rambler.ru

E-mail: Địa chỉ email này đã được bảo vệ từ spam bots. Bạn phải kích hoạt JavaScript để xem nó.
Đăng nhập/mật khẩu hộp thư: tên hộp thư đầy đủ ( Địa chỉ email này đã được bảo vệ từ spam bots. Bạn phải kích hoạt JavaScript để xem nó.), Mật khẩu cho hộp thư của bạn
máy chủ smtp: smtp.rambler.ru
Cổng smtp máy chủ: 465
Kết nối thông qua kết nối an toàn (SSL): Có
Phương thức xác thực: ĐĂNG NHẬP
Phương thức gửi: Máy chủ SMTP

Thiết lập gửi email qua hotmail

E-mail: Địa chỉ email này đã được bảo vệ từ spam bots. Bạn phải kích hoạt JavaScript để xem nó.
Đăng nhập/mật khẩu hộp thư: tên hộp thư đầy đủ ( Địa chỉ email này đã được bảo vệ từ spam bots. Bạn phải kích hoạt JavaScript để xem nó.), Mật khẩu cho hộp thư của bạn
máy chủ smtp: smtp.live.com
Cổng smtp máy chủ: 465
Kết nối thông qua kết nối an toàn (SSL): Có
Phương thức xác thực: ĐĂNG NHẬP
Phương thức gửi: Máy chủ SMTP

Thiết lập gửi email qua Yahoo mail

E-mail: Địa chỉ email này đã được bảo vệ từ spam bots. Bạn phải kích hoạt JavaScript để xem nó.
Đăng nhập/mật khẩu hộp thư: tên hộp thư đầy đủ ( Địa chỉ email này đã được bảo vệ từ spam bots. Bạn phải kích hoạt JavaScript để xem nó.), Mật khẩu cho hộp thư của bạn
máy chủ smtp: smtp.mail.yahoo.com
Cổng smtp máy chủ: 465
Kết nối thông qua kết nối an toàn (SSL): Có
Phương thức xác thực: ĐĂNG NHẬP
Phương thức gửi: Máy chủ SMTP

Thêm chữ ký DKIM

Trước tiên, bạn cần tạo khóa DKIM. Sử dụng dịch vụ trực tuyến cho việc này https://port25.com/dkim-wizard/
Trong trường "Tên miền", chúng tôi chỉ ra miền thư của bạn và trong trường "Bộ chọn khóa miền", bất kỳ giá trị nào. Sau khi bạn đã điền vào tất cả các trường của biểu mẫu, hãy nhấp vào nút “Gửi”, sau đó các khóa công khai (PUBLIC KEY) và riêng tư (RSA PRIVATE KEY) được tạo sẽ xuất hiện trong trường văn bản bên dưới.
Tiếp theo, mở notepad hoặc bất kỳ trình soạn thảo văn bản nào khác và tạo 2 tệp có tên: .htkeypublic và .htkeyprivate. Sao chép nội dung của phần “BEGIN PUBLIC KEY” và đặt vào tệp .htkeypublic. Mở .htkeyprivate, dán nội dung của phần "BEGIN RSA PRIVATE KEY" và lưu lại.
Sau đó, sao chép các tệp đã tạo vào máy chủ web trong thư mục keyprivate của thư mục chương trình. Cuối cùng, tất cả những gì còn lại là cấu hình DNS. Sử dụng lời nhắc dịch vụ, bạn cần nhập bản ghi TXT vào DNS của tên miền trong bảng điều khiển của nhà đăng ký tên miền.
Bạn nên thêm bản ghi TXT theo định dạng sau: mail._domainkey.example-site.com và _domainkey.example.com. Thay vì example.com, hãy nhập miền email của bạn. Cả hai mục sẽ trông như thế này:

Domainkey.example-site.com. TXT "t=s; o=~;"
mail._domainkey.example.com. TXT "k=rsa\;
p=MIGfMA0GCSqGSIb3DQE….." Ở đây chúng ta nhập khóa công khai từ phần BEGIN PUBLIC KEY.

Bây giờ, để kiểm tra xem mọi thứ đã được cấu hình đúng chưa, hãy gửi email cho chính bạn. Nếu mọi thứ được thực hiện chính xác, tiêu đề của thư đã gửi sẽ chứa khoảng các dòng sau:

Xác thực-Kết quả: mx.google.com; spf=pass (google.com: tên miền của Địa chỉ email này đã được bảo vệ từ spam bots. Bạn phải kích hoạt JavaScript để xem nó. chỉ định 123.123.123.123 là người gửi được phép) smtp.mail= Địa chỉ email này đã được bảo vệ từ spam bots. Bạn phải kích hoạt JavaScript để xem nó.; dkim=vượt qua [email được bảo vệ]

Thiết lập gửi thư theo lịch trình

Chạy tập lệnh php từ cron:

Trong cài đặt cron, hãy viết lệnh, ví dụ * * * * * /usr/local/bin/php /home/user/www/phpnewsletter/cron.php
Ví dụ này sử dụng tập lệnh PHP để chạy hàng tháng, trong đó /usr/local/bin/php là đường dẫn đến trình thông dịch php. Tham số này là bắt buộc. Trên máy chủ của bạn, nó có thể khác với ví dụ đã cho. Để tìm ra đường dẫn, bạn cần chạy lệnh php nào hoặc hỏi nhà cung cấp dịch vụ lưu trữ của bạn.
/home/user/www/phpnewsletter/cron.phpđường dẫn đến tập lệnh trên máy chủ web của bạn.

Chạy tập lệnh php bằng phương thức GET:

Chạy tập lệnh php bằng phương thức GET từ cron sử dụng chương trình wget. Dòng tệp cron được viết như thế này: * * * * * /usr/local/bin/wget "http://domain/phpnewsletter/cron.php"
/usr/local/bin/wget- đường dẫn đến chương trình wget
http://domain/phpnewsletter/cron.php- liên kết đến chính tập lệnh.

Lam thê nao để mua?

Chi phí giấy phép PHP Newletter 5 cho một trang web 500 chà., cho số lượng trang web không giới hạn 1500 chà.. Người dùng PHP Newletter 4 được giảm giá 50% khi mua giấy phép mới. Thanh toán có thể được thực hiện bằng cách sử dụng các chi tiết sau:

WebTiền
U237811811298
R198597198920
Z917380288657

Tiền Yandex
41001635943434

PayPal
Địa chỉ email này đã được bảo vệ từ spam bots. Bạn phải kích hoạt JavaScript để xem nó.

người trả tiền
P33851732

Trong phần ghi chú vui lòng cho biết: Bản tin PHP - "Địa chỉ gửi thư của bạn"

Nếu bạn có bất kỳ câu hỏi hoặc gợi ý nào, vui lòng viết thư cho tôi tại: Địa chỉ email này đã được bảo vệ từ spam bots. Bạn phải kích hoạt JavaScript để xem nó.

Lần trước chúng tôi đã xem xét tùy chọn này ngay từ trang web. Tùy chọn này phù hợp để gửi một lá thư.

Và đối với quản trị viên trang web, thông thường cần phải thông báo về một số tin tức hoặc sự kiện cho tất cả người dùng của trang web và để làm được điều này, cần phải gửi thư hàng loạt. Và điều rất quan trọng là mọi người đều nhận được một lá thư riêng gửi riêng cho họ. Điều này có nghĩa là mỗi chữ cái phải chứa một tên và địa chỉ duy nhất.

Để tạo một bản tin như vậy, bạn cần hỏi quản trị viên của máy chủ lưu trữ nơi trang web được cài đặt. Đăng bài mà không được phép có thể dẫn đến tài khoản của bạn bị chặn. Bất kể bạn trả tiền cho việc lưu trữ trong một tháng hay một năm. Tôi sẽ nói ngay rằng bảy mươi phần trăm tất cả các trang web lưu trữ có thể từ chối bạn một cách rõ ràng. Những người khác có thể được phép, nhưng với những hạn chế. Tốt nhất có thể là năm trăm lá thư mỗi giờ hoặc một ngày, hoặc tệ nhất là một trăm lá thư mỗi ngày. Tất cả phụ thuộc vào thuế quan và chính việc lưu trữ.

Và nếu bạn đang làm việc này một cách chuyên nghiệp và nghiêm túc, và tất nhiên tiền là không đủ, thì trước tiên bạn sẽ cần một máy chủ VPS chuyên dụng. Nhưng đừng nghĩ rằng bạn có thể gửi bao nhiêu tùy thích ở đó. Bạn vẫn cần thông báo với quản trị viên dịch vụ lưu trữ rằng bạn cần gửi tin nhắn cho người dùng trang web rằng mọi người đã đồng ý nhận email từ bạn. Và nói chung, cơ sở người dùng hoàn toàn là người da trắng và bạn không mua cơ sở này ở bất kỳ chợ đen nào.

Chà, tôi nghĩ bạn đã viết thư cho quản trị viên dịch vụ lưu trữ. Chúng tôi đã được anh ấy đồng ý và chứng minh cho anh ấy thấy rằng cơ sở dữ liệu e-mail của bạn hoàn toàn trắng và mượt mà.

Tuyệt vời. Bây giờ chúng ta hãy đi vào khía cạnh kỹ thuật của vấn đề. Chúng ta sẽ gửi thư theo vòng lặp while với hàm mail();
Chúng tôi có cơ sở dữ liệu về e-mail và tên của từng người dùng. Điều này có nghĩa là chúng tôi thực hiện truy vấn đến cơ sở dữ liệu người dùng bằng cách sử dụng biểu thức mysql_query(“SELECT * FROM `users`”);

Và mã script chung như sau:

Về nguyên tắc, bản thân tập lệnh gửi email hàng loạt bằng PHP rất đơn giản. Không phức tạp hơn, ví dụ, đơn giản. Nhưng trên thực tế, việc gửi thư hàng loạt không hề dễ dàng như người ta tưởng. Bản thân tập lệnh gửi thư hàng loạt sẽ được cài đặt và định cấu hình trên máy chủ sau vài phút. Chỉ có điều bạn mới chỉ làm được mười phần trăm mọi việc cần thiết để gửi thư và tiến hành gửi thư nói chung.

Và, bạn cần lưu ý những điều kiện sau:

Dưới đây là danh sách ngắn những gì cần thiết để gửi email hàng loạt. Nhưng đây không phải là tất cả những khuyến nghị, vì luật chơi liên tục thay đổi. Và các quy tắc nhận dạng thư rác cũng thay đổi gần như hàng năm. Bởi vì chỉ riêng ở Nga đã có hơn 200 triệu địa chỉ e-mail trong mạng. Mọi người đều mơ ước nhận được ít nhất một rúp từ mỗi người nhận email.

Có rất nhiều dịch vụ miễn phí trên Internet. Bao gồm cả dịch vụ gửi thư tới thuê bao. Một số trong số đó là rất tốt. Nhưng vì chúng miễn phí nên điều đó có nghĩa là quảng cáo sẽ xuất hiện trong các bức thư. Và nhiều người không hài lòng với những hình thức đăng ký lớn có logo của đại diện dịch vụ.

Vậy tại sao không viết một công cụ đơn giản cho danh sách gửi thư của bạn và tự mình gửi thư?

Hãy tìm hiểu những gì chúng ta cần cho việc này. Để khách truy cập có cơ hội đăng ký nhận bản tin của bạn, bạn cần có một biểu mẫu để nhập địa chỉ email của mình. Sau khi nhập địa chỉ, bạn phải nhớ nó. Hãy lưu địa chỉ vào một tập tin maillist.txt một địa chỉ trên mỗi dòng. Khi địa chỉ đã được lưu, hãy hiển thị thông báo và hiển thị biểu mẫu để đăng ký địa chỉ khác hoặc xóa địa chỉ hiện có. Đó gần như là tất cả. Tất cả những gì còn lại là thêm khả năng gửi thư. Để bảo mật, hãy đặt mật khẩu cho khả năng gửi thư - cần có một biểu mẫu để nhập mật khẩu. Tiếp theo, bạn sẽ cần các biểu mẫu để điền địa chỉ và chủ đề của người gửi cũng như nội dung văn bản. Và cuối cùng, chính kịch bản sẽ gửi thư. Và bây giờ mọi thứ đã theo thứ tự.

Biểu mẫu nhập địa chỉ email sẽ chỉ bao gồm một cửa sổ để nhập địa chỉ và một nút để xác nhận:



!}

Vì vậy, trong cửa sổ nhập văn bản, với tên email và độ dài hiển thị là 30 ký tự, một địa chỉ email sẽ được nhập. Sau khi nhấp vào nút có nội dung đăng ký, địa chỉ sẽ được chuyển vào tập lệnh ras.phpđể được thêm vào danh sách gửi thư.

Tiếp theo, hãy nhìn vào kịch bản ras.php sẽ lưu địa chỉ email vào một tệp, hiển thị thông báo về kết quả và biểu mẫu đăng ký và hủy đăng ký. Tập lệnh có thể được thực thi khá đơn giản - lưu địa chỉ, hiển thị thông báo tương ứng. Nhưng vấn đề có thể nảy sinh: ai đó có thể vô tình đăng ký nhiều lần, ai đó có thể mắc lỗi đánh máy và nhập ký tự không hợp lệ vào trường địa chỉ hoặc cố tình nhập vô nghĩa. Trong trường hợp này, danh sách gửi thư sẽ bị ô nhiễm và địa chỉ không chính xác sẽ dẫn đến lỗi trong tập lệnh. Kết luận rất rõ ràng - trước khi lưu một địa chỉ, bạn nên kiểm tra xem địa chỉ đó có tuân thủ các tiêu chuẩn về tên địa chỉ hộp thư điện tử hay không, cũng như sự hiện diện của địa chỉ đó trong danh sách gửi thư. Để không phải xem mã theo từng phần, tôi sẽ đưa ra nhận xét trong chính mã đó:

tập tin $ = " maillist.txt"; // file chứa địa chỉ

error_reporting(0); // vô hiệu hóa hiển thị thông báo về các lỗi có thể xảy ra

Hàm test_mail($char) // hàm kiểm tra tính thực tế của địa chỉ
{
$cờ = SAI;
if(eregi("^[_\.0-9a-z-]+@([-0-9a-z\.]+)\.((2,3)$)", $char )) $flag = ĐÚNG VẬY;
nếu ($ cờ) trả về ĐÚNG VẬY;
nếu không thì quay lại SAI;
}

$email = cắt(strtower($email )); // được nhập vào
// tạo địa chỉ với
// ký tự chữ thường

Hàm copy_mail($char) // kiểm tra xem địa chỉ đó có tồn tại trong cơ sở dữ liệu không
{
tập tin $ = " maillist.txt";
$list = tệp($file);
với ($i = 0; $i< sizeof ($list ); $i++ )
if ($char == cắt($list [$i ])) $flag = ĐÚNG VẬY;

Nếu ($ cờ) trả về ĐÚNG VẬY;
nếu không thì quay lại SAI;
}

Tiếng vang"

";

Nếu (is_file($file )) // sau đó kiểm tra địa chỉ bằng các hàm được mô tả ở trên
{
$maillist = tệp($file);
if (!$email == "") (
if (test_mail($email )) (
nếu (!copy_mail($email ))
{
$maillist = "\n$email";
print "E-mail: $email danh sách gửi thư đã được thêm vào

";
}
else print "E-mail: $email đã có trong cơ sở dữ liệu";
}
else print "Email: $email không tồn tại";
}
khác in "";
}
else print "Không tìm thấy tệp $file! Vui lòng cho tôi biết tôi về lỗi này.";
// hiển thị một biểu mẫu trên màn hình với đề xuất đăng ký và hủy đăng ký
tiếng vang "
Theo dõi bản tin của chúng tôi
";
echo "Nhập thư:
";

Tiếng vang"



";
echo "Hủy đăng ký khỏi danh sách gửi thư
Nhập thư:";
tiếng vang "
";
// nếu người dùng quyết định hủy đăng ký, hãy xóa nội dung đã nhậpĐịa chỉ
$cờ = SAI;
$fw = fopen($file , " w");
với ($i = 0; $i< sizeof ($maillist ); $i++ )
if (trim(strtower($delmail )) == Trim(strtower($maillist [$i ]))) (
nếu (!$delmail == "")
{
in "
$delmail đã bị xóa khỏi danh sách gửi thư
";
$cờ = ĐÚNG VẬY;
}
}
else fputs($fw , $maillist [$i ]); // địa chỉ đã nhập không có trong cơ sở dữ liệu
fclose($fw);
nếu (!$delmail == "")
if (!$flag ) in "
$delmail không tìm thấy trong danh sách gửi thư
";
?>

Đây là mã của chúng tôi để lưu và xóa địa chỉ đã sẵn sàng. Bây giờ chúng ta cần quan tâm đến phương tiện gửi thư. Chúng ta sẽ không gửi qua Outlook phải không? Như đã đề cập, chúng tôi sẽ bảo vệ khả năng gửi bằng mật khẩu mà chúng tôi sẽ nhập vào một biểu mẫu đặc biệt:




Trường đầu vào được đặt tên là pass và sẽ được sử dụng để nhập mật khẩu. Sau khi nhấp vào nút enter, mật khẩu sẽ được chuyển vào tập lệnh out.php:

$subject = "Bản tin trang web của tôi"; // chủ đề gửi thư
$fromemail = "my@soap"; // địa chỉ của bạn (để trả lời)
tập tin $ = " maillist.txt"; // danh sách địa chỉ của người đăng ký
$password = "mật khẩu bí mật"; // mật khẩu gửi thư của bạn

nếu ($pass == $password ) // nếu mật khẩu được nhập đúng
// sau đó hiển thị biểu mẫu với các trường đầu vào:
// địa chỉ người gửi, nội dung thư, nội dung thư
// nút gửi
// sau khi click vào nút, truyền dữ liệu vào script
gửi.php
{
tiếng vang "
";
echo "địa chỉ người gửi

";
echo "chủ đề của email
";
tiếng vang "
nội dung bức thư:
";
tiếng vang "
";
in " Trong cơ sở dữ liệu ". sizeof($maillist) ."địa chỉ

";
với ($i = 0; $i< sizeof ($maillist ); $i ++) print $maillist [$i ]. "
";
}
// nếu mật khẩu sai vui lòng nhập lại
tiếng vang khác "
";

Chỉ còn một tập lệnh cần xem xét - tập lệnh sẽ gửi thư:

$odr = "\n\n\n Để hủy đăng ký, hãy sử dụng liên kết\n";
$homepage = "http://site.address/ras.php";

Error_reporting(0);
$ chủ đề = $HTTP_POST_VARS["chủ đề"];
$body = $HTTP_POST_VARS["body"];
$subject = Striplashes($subject );
$body = Striplashes($body );

tập tin $ = " maillist.txt";
$maillist = tệp($file);

In "Trong cơ sở dữ liệu". sizeof($maillist )." địa chỉ
";
với ($i = 0; $i< sizeof ($maillist ); $i ++)
{
#echo($maillist [$i ]."
");
thư($danh sách thư [$i], $subject ,
$body ."$odr $homepag ?delmail=$maillist [$i ]",
"Từ: $fromemail ");
}
echo "Xong!";

Mọi thứ ở đây đều đơn giản: chúng tôi nhận các giá trị đã nhập ở biểu mẫu trước đó và gửi chúng theo chu kỳ lần lượt đến từng địa chỉ.

Nó không khó chút nào! Bây giờ bạn đã có một công cụ mạnh mẽ để chạy danh sách gửi thư của riêng mình. Không còn quy tắc nào dành cho bạn nữa. Viết bất cứ điều gì bạn muốn trong bản tin của bạn. Hoàn toàn tự do trong cấu hình và hình thức của các hình thức đăng ký.

Tất nhiên, mã này chỉ là bộ tối thiểu. Ví dụ: bằng cách sử dụng chức năng thư, bạn có thể tự sắp xếp thông báo về người đăng ký mới và thông báo cho người đăng ký về việc đăng ký thành công cũng như cho biết thêm về bản tin.

Tất nhiên, khi tôi nói về quyền tự do hoàn toàn, tôi không hề có ý nói đến việc bắt buộc phải đăng ký? hay nói một cách đơn giản hơn là thư rác. Nếu đột nhiên ai đó quyết định gửi thư rác theo cách này, thì hãy để họ tính đến việc quản trị viên lưu trữ sẽ ngay lập tức bắt đầu phàn nàn về điều đó. Và không quan trọng việc lưu trữ có được trả tiền hay không, nếu ban quản trị dịch vụ lưu trữ nhận thấy những hành động đó, họ sẽ hủy việc cung cấp dịch vụ của mình cho bạn mà không bồi thường thiệt hại. Và với việc lưu trữ miễn phí, điều đó thậm chí còn khó khăn hơn. Đầu tiên, bạn cần phải xin phép cá nhân từ chính quyền để mở chức năng này, và thứ hai, theo quy định, có giới hạn là 1 chữ cái mỗi phút. Vì vậy, các quý ông gửi thư rác, hãy rời đi :)

Hãy kết thúc bằng một ghi chú vui vẻ như vậy.




Nếu bạn có bất kỳ câu hỏi nào khác hoặc điều gì đó chưa rõ ràng - chào mừng bạn đến với chúng tôi

Có rất nhiều dịch vụ miễn phí trên Internet. Bao gồm cả dịch vụ gửi thư tới thuê bao. Một số trong số đó là rất tốt. Nhưng vì chúng miễn phí nên điều đó có nghĩa là quảng cáo sẽ xuất hiện trong các bức thư. Và nhiều người không hài lòng với những hình thức đăng ký lớn có logo của đại diện dịch vụ.

Vậy tại sao không viết một công cụ đơn giản cho danh sách gửi thư của bạn và tự mình gửi thư?

Hãy tìm hiểu những gì chúng ta cần cho việc này. Để khách truy cập có cơ hội đăng ký nhận bản tin của bạn, bạn cần có một biểu mẫu để nhập địa chỉ email của mình. Sau khi nhập địa chỉ, bạn phải nhớ nó. Hãy lưu các địa chỉ trong tệp maillist.txt, mỗi địa chỉ một dòng. Khi địa chỉ đã được lưu, hãy hiển thị thông báo và hiển thị biểu mẫu để đăng ký địa chỉ khác hoặc xóa địa chỉ hiện có. Đó gần như là tất cả. Tất cả những gì còn lại là thêm khả năng gửi thư. Để bảo mật, hãy đặt mật khẩu cho khả năng gửi thư - cần có một biểu mẫu để nhập mật khẩu. Bạn cũng sẽ cần các biểu mẫu để điền địa chỉ và chủ đề của người gửi cũng như nội dung văn bản. Và cuối cùng, chính kịch bản sẽ gửi thư. Và bây giờ mọi thứ đã theo thứ tự.

Biểu mẫu nhập địa chỉ email sẽ chỉ bao gồm một cửa sổ để nhập địa chỉ và một nút để xác nhận:


Vì vậy, trong cửa sổ nhập văn bản, với tên email và độ dài hiển thị là 30 ký tự, một địa chỉ email sẽ được nhập. Sau khi nhấp vào nút có nhãn đăng ký, địa chỉ sẽ được chuyển sang tập lệnh ras.php để đưa vào danh sách gửi thư.

Tiếp theo, chúng ta hãy xem tập lệnh ras.php, tập lệnh này sẽ lưu địa chỉ email vào một tệp, hiển thị thông báo về kết quả và các biểu mẫu để đăng ký và hủy đăng ký. Tập lệnh có thể được thực thi khá đơn giản - lưu địa chỉ, hiển thị thông báo tương ứng. Nhưng vấn đề có thể nảy sinh: ai đó có thể vô tình đăng ký nhiều lần, ai đó có thể mắc lỗi đánh máy và nhập ký tự không hợp lệ vào trường địa chỉ. Trong trường hợp này, danh sách gửi thư sẽ bị ô nhiễm và địa chỉ không chính xác sẽ dẫn đến lỗi trong tập lệnh. Kết luận rất rõ ràng - trước khi lưu một địa chỉ, bạn nên kiểm tra xem địa chỉ đó có tuân thủ các tiêu chuẩn về tên địa chỉ hộp thư điện tử hay không, cũng như sự hiện diện của địa chỉ đó trong danh sách gửi thư. Để không phải xem mã theo từng phần, tôi sẽ đưa ra nhận xét trong chính mã đó:

$file = "maillist.txt"; // file chứa địa chỉ error_reporting(0); // tắt hiển thị thông báo về các lỗi có thể xảy ra function test_mail($char) // chức năng kiểm tra tính thực tế của địa chỉ ( if (preg_match("/^[_\.0-9a-z-]+@([- 0-9a-z \.]+)\.((2,3)$)/", $char)) return true; return false; ) // lấy địa chỉ đã nhập vào biểu mẫu với các ký tự chữ thường $email = Trim (strtolow($email )); hàm copy_mail($char) // kiểm tra xem địa chỉ đó có tồn tại trong cơ sở dữ liệu hay không ( Global $file; $list = file($file); for ($i = 0; $i< sizeof ($list); $i++) if ($char == trim($list[$i])) return true; return false; } echo "

"; if (is_file($file)) // sau đó kiểm tra địa chỉ bằng các hàm được mô tả ở trên ( $maillist = file($file); if (!$email == "") ( if (test_mail($email)) ( if (! copy_mail($email)) ( $maillist = "\n$email"; print "E-mail: $email danh sách gửi thư đã được thêm
"; ) khác in "E-mail: $email đã có trong cơ sở dữ liệu"; ) khác in "E-mail: $email không tồn tại"; ) nếu không thì in ""; ) khác in "Không tìm thấy tệp $! Vui lòng cho tôi biết tôi về lỗi này."; // hiển thị biểu mẫu với đề xuất đăng ký và hủy đăng ký echo "
Theo dõi bản tin của chúng tôi
"; echo "Nhập thư:
"; tiếng vang"


"; echo "Hủy đăng ký
Nhập thư:"; echo "
"; // nếu người dùng quyết định hủy đăng ký, hãy xóa địa chỉ đã nhập $flag = false; $fw = fopen($file, "w"); for ($i = 0; $i< sizeof ($maillist); $i++) if (trim(strtolower($delmail)) == trim(strtolower($maillist[$i]))) { if (!$delmail == "") { print "
$delmail đã bị xóa khỏi danh sách gửi thư
"; $flag = true; ) ) else fputs($fw, $maillist[$i]); // địa chỉ đã nhập không có trong cơ sở dữ liệu fclose($fw); if (!$delmail == "") if (!$ flag) in "
$delmail không tìm thấy trong danh sách gửi thư
";

Đây là mã của chúng tôi để lưu và xóa địa chỉ đã sẵn sàng. Bây giờ chúng ta cần quan tâm đến phương tiện gửi thư. Chúng tôi sẽ không gửi qua Outlook!?. Như đã đề cập, chúng tôi sẽ bảo vệ khả năng gửi bằng mật khẩu mà chúng tôi sẽ nhập vào một biểu mẫu đặc biệt:


Trường đầu vào được đặt tên là pass và sẽ được sử dụng để nhập mật khẩu. Sau khi nhấp vào nút enter, mật khẩu sẽ được chuyển đến tập lệnh out.php:

$subject = "Bản tin trang web của tôi"; // chủ đề gửi thư $fromemail = "my@soap"; // địa chỉ của bạn (để trả lời) $file = "maillist.txt"; // danh sách địa chỉ của người đăng ký $password = "secretpassword"; // mật khẩu của bạn cho danh sách gửi thư if ($_POST["pass"] == $password) // nếu mật khẩu bạn nhập đúng // thì chúng tôi sẽ hiển thị một biểu mẫu với các trường nhập: // địa chỉ người gửi, văn bản thư, nội dung thư // nút gửi // sau khi nhấp vào nút, chúng tôi chuyển dữ liệu sang tập lệnh send.php ( echo "


"; echo "địa chỉ người gửi

"; echo "dòng chủ đề
"; tiếng vang"
nội dung bức thư:
"; tiếng vang"
"; in " Trong cơ sở dữ liệu ". sizeof($maillist) ."địa chỉ

"; với ($i = 0; $i< sizeof ($maillist); $i++) print $maillist[$i]. "
"; ) // nếu mật khẩu sai, vui lòng nhập lại nếu không echo "
";

Chỉ còn một tập lệnh cần xem xét - tập lệnh sẽ gửi thư:

$odr = "\n\n\n Để hủy đăng ký, hãy sử dụng liên kết\n"; $homepage = "http://site.address/ras.php"; error_reporting(0); $ chủ đề = $HTTP_POST_VARS["chủ đề"]; $body = $HTTP_POST_VARS["body"]; $ chủ đề = dải gạch chéo ($ chủ đề); $body = Striplashes($body); $file = "maillist.txt"; $maillist = tệp($file); in "Trong cơ sở dữ liệu". sizeof($maillist)." địa chỉ
"; với ($i = 0; $i< sizeof ($maillist); $i++) { #echo($maillist[$i]."
"); mail($maillist[$i], $subject, $body ."$odr $homepag?delmail=$maillist[$i]", "Từ:<$fromemail>"); ) echo "Xong!";

Mọi thứ ở đây đều đơn giản: chúng tôi nhận các giá trị đã nhập ở biểu mẫu trước đó và gửi chúng theo chu kỳ lần lượt đến từng địa chỉ.

Bản quyền thuộc về Vladislav Putyak http://ru-coding.com/. Những thay đổi và bổ sung