Làm cách nào để tạo kết hợp thư trong python?
Giả sử bạn đang tổ chức một số sự kiện và bạn có một danh sách gửi thư gồm các địa chỉ email và những người bạn cần gửi thư để thông báo cho họ biết họ sẽ ở phòng nào. Bạn muốn gửi một email được cá nhân hóa cho từng người và bạn không muốn gõ từng cái một bằng tay. Python có thể tự động hóa việc này cho bạn. Tất cả những gì bạn cần là danh sách gửi thư ở định dạng có cấu trúc nào đó, sau đó bạn có thể duyệt qua từng dòng để tạo và gửi email Show
Chúng tôi sẽ sử dụng một bảng tổ chức để lưu trữ dữ liệu trong First nameLast nameemail addressSố phòngJaneDoejane-doe@gmail. com1JohnDoejohn-doe@gmail. com2JimmyJohnjimmy-john@gmail. com3Chúng tôi chuyển bảng đó vào một khối nguồn chế độ tổ chức dưới dạng một biến được gọi là dữ liệu, đây sẽ là một danh sách các danh sách, một danh sách cho mỗi hàng của bảng. Ngoài ra, bạn có thể đọc những thứ này từ bảng tính excel, tệp csv hoặc một số loại cấu trúc dữ liệu python Chúng tôi không thực sự gửi email trong ví dụ này. Để làm điều đó, bạn cần có quyền truy cập vào máy chủ thư, máy chủ này có thể nằm trên máy của chính bạn hoặc có thể là máy chủ chuyển tiếp mà bạn có quyền truy cập Chúng tôi tạo một chuỗi là một mẫu với một số trường được thay thế, e. g. tên và số phòng trong trường hợp này. Sau đó, chúng tôi lặp qua từng hàng của bảng và định dạng mẫu với các giá trị đó, đồng thời tạo thông báo email cho người đó. Đầu tiên, chúng tôi in từng tin nhắn để kiểm tra xem chúng có đúng không Ví dụ này sẽ hướng dẫn bạn các bước để tạo email mẫu, cơ sở dữ liệu và cấu hình máy chủ STMP. Sau đó sẽ hướng dẫn cách test trước khi gửi mail thật Tạo email, cơ sở dữ liệu và cấu hình mẫu mẫu$ mailmerge --sample Created sample template email "mailmerge_template.txt" Created sample database "mailmerge_database.csv" Created sample config file "mailmerge_server.conf" Edit these files, then run mailmerge again. Chỉnh sửa cấu hình máy chủ SMTP $ sudo pip install mailmerge 4Các giá trị mặc định được thiết lập cho GMail. Hãy chắc chắn để thay đổi tên người dùng của bạn. Nếu bạn sử dụng xác thực 2 yếu tố, trước tiên hãy tạo mật khẩu ứng dụng. Các ví dụ cấu hình khác có trong phần bình luận của $ sudo pip install mailmerge4 tiền boa. SSH hoặc VPN vào mạng của bạn trước. Chạy mailmerge từ cùng một mạng với máy chủ SMTP có thể giúp bạn tránh các bộ lọc thư rác và điều tiết máy chủ. Mẹo này không áp dụng cho Gmail
Chỉnh sửa thông báo email mẫu $ sudo pip install mailmerge 6Các trường $ sudo pip install mailmerge7, $ sudo pip install mailmerge8 và $ sudo pip install mailmerge9 là bắt buộc. Phần còn lại là nội dung của thông điệp. Sử dụng $ sudo dnf install python3-mailmerge0 để chỉ ra các tham số tùy chỉnh sẽ được đọc từ cơ sở dữ liệu. Ví dụ, $ sudo dnf install python3-mailmerge1 sẽ được điền từ cột $ sudo dnf install python3-mailmerge2 của $ sudo dnf install python3-mailmerge3
Chỉnh sửa cơ sở dữ liệu $ sudo dnf install python3-mailmerge 3Lưu ý rằng dòng đầu tiên là tiêu đề khớp với các tham số trong ví dụ mẫu, ví dụ: $ sudo dnf install python3-mailmerge1 tiền boa. Thêm chính bạn làm người nhận đầu tiên. Điều này hữu ích cho việc thử nghiệm
chạy khôĐầu tiên, chạy khô một email (_______1_______1 mặc định). Thao tác này sẽ điền vào các trường mẫu của email đầu tiên và in nó ra thiết bị đầu cuối $ mailmerge >>> message 1 TO: [email protected] SUBJECT: Testing mailmerge FROM: My Self MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Date: Thu, 19 Dec 2019 19:49:11 -0000 Hi, Myself, Your number is 17. >>> sent message 1 >>> Limit was 1 message. To remove the limit, use the --no-limit option. >>> This was a dry run. To send messages, use the --no-dry-run option. Nếu điều này có vẻ chính xác, hãy thử chạy khô lần thứ hai, lần này với tất cả người nhận sử dụng tùy chọn $ sudo dnf install python3-mailmerge7 $ mailmerge --no-limit >>> message 1 TO: [email protected] SUBJECT: Testing mailmerge FROM: My Self MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Date: Thu, 19 Dec 2019 19:49:33 -0000 Hi, Myself, Your number is 17. >>> sent message 1 >>> message 2 TO: [email protected] SUBJECT: Testing mailmerge FROM: My Self MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Date: Thu, 19 Dec 2019 19:49:33 -0000 Hi, Bob, Your number is 42. >>> sent message 2 >>> This was a dry run. To send messages, use the --no-dry-run option. Gửi email đầu tiênChúng tôi đang hết sức cẩn thận trong ví dụ này để tránh gửi thư rác, vì vậy, tiếp theo, chúng tôi sẽ chỉ gửi một email thực (_______1_______1 mặc định). Nhớ lại rằng bạn đã tự thêm mình làm người nhận email đầu tiên $ pip install mailmerge0 Bạn có thể phải nhập mật khẩu email của mình khi được nhắc. (Nếu bạn sử dụng Gmail có xác thực 2 yếu tố, đừng quên sử dụng mật khẩu ứng dụng bạn đã tạo trong khi. ) Bây giờ, hãy kiểm tra email của bạn và đảm bảo rằng thư đã được gửi đi. Nếu mọi thứ đều ổn, thì đã đến lúc gửi tất cả các tin nhắn Gửi tất cả email$ pip install mailmerge1 Ví dụ mẫu nâng caoVí dụ này sẽ gửi báo cáo tiến độ cho học sinh. Mẫu sử dụng nhiều tính năng nâng cao hơn của tài liệu công cụ mẫu jinja2 để tùy chỉnh thông báo cho học viên Mẫu |