Trộn 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

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. com3

Chú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

# Nội dung của Tên. txt
Jack
hoa hồng

# nội dung của cơ thể. txt
Lời chào hỏi
Chúng tôi mời bạn tham dự sự kiện ra mắt Sản phẩm mới tại Microsoft London vào ngày 10 tháng 10 năm 2019

Rất mong nhận được sự tham gia của bạn

Phí đăng ký. $20

Cảm ơn và Trân trọng,

Chương trình

with open("Names.txt",'r') as Names:
with open("Body.txt",'r') as Body:
text=Body.read()
for name in Names:
msg="Hello"+name+text
with open(name.strip()+".txt",'w')as File:
File.write(msg)

đầu ra
# Nội dung của Jack. txt

Hello Jack
Greetings!
This is to invite you to attend the new Product launch event at Microsoft London on 10 October 2019.

Looking forward to your participation.

Registration Fees: $20

Thanks and Regards,

# Nội dung của hoa hồng. txt

Hello Rose
Greetings!
This is to invite you to attend the new Product launch event at Microsoft London on 10 October 2019.

Looking forward to your participation.

Registration Fees: $20

Thanks and Regards,

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 4

Cá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 mailmerge
4

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

[smtp_server]
host = smtp.gmail.com
port = 465
security = SSL/TLS
username = YOUR_USERNAME_HERE

Chỉnh sửa thông báo email mẫu $ sudo pip install mailmerge 6

Các trường

$ sudo pip install mailmerge
7,
$ sudo pip install mailmerge
8 và
$ sudo pip install mailmerge
9 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-mailmerge
0 để 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-mailmerge
1 sẽ được điền từ cột
$ sudo dnf install python3-mailmerge
2 của
$ sudo dnf install python3-mailmerge
3

TO: {{email}}
SUBJECT: Testing mailmerge
FROM: My Self 

Hi, {{name}},

Your number is {{number}}.

Chỉnh sửa cơ sở dữ liệu $ sudo dnf install python3-mailmerge 3

Lư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-mailmerge
1

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

email,name,number
[email protected],"Myself",17
[email protected],"Bob",42

chạy khô

Đầu tiên, chạy khô một email (_______4_______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-mailmerge
7

$ 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ên

Chú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 (

$ sudo pip install mailmerge
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 mailmerge
0

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 mailmerge
1

Ví dụ mẫu nâng cao

Ví 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
$ sudo pip install mailmerge
6

$ pip install mailmerge
2

Cơ sở dữ liệu
$ sudo dnf install python3-mailmerge
3

Một lần nữa, chúng tôi sẽ sử dụng phương pháp hay nhất để biến bạn thành người nhận đầu tiên, điều này rất hữu ích cho việc thử nghiệm

$ pip install mailmerge
3

định dạng HTML

Mailmerge hỗ trợ định dạng HTML

chỉ HTML

Ví dụ này sẽ sử dụng HTML để định dạng email. Thêm

$ 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.
1 ngay dưới tiêu đề email, sau đó bắt đầu tin nhắn của bạn bằng

Mẫu
$ sudo pip install mailmerge
6

$ pip install mailmerge
4

HTML và văn bản thuần túy

Ví dụ này cho thấy cách cung cấp cả phiên bản HTML và văn bản thuần túy trong cùng một thông báo. Trình đọc thư của người dùng có thể chọn một trong hai

Mẫu
$ sudo pip install mailmerge
6

$ pip install mailmerge
5

định dạng đánh dấu

Mailmerge hỗ trợ định dạng Markdown bằng cách bao gồm tiêu đề tùy chỉnh tùy chỉnh

$ 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.
4 trong thư. Mailmerge sẽ hiển thị phần đánh dấu thành HTML, sau đó bao gồm cả phiên bản HTML và văn bản thuần túy trong một thư nhiều phần. Trình đọc thư của người nhận sau đó có thể chọn một trong hai định dạng

Mẫu $ sudo pip install mailmerge 6

$ pip install mailmerge
6

tệp đính kèm

Ví dụ này cho biết cách thêm tệp đính kèm với tiê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.
6 đặc biệt

Mẫu
$ sudo pip install mailmerge
6

$ pip install mailmerge
7

Chạy khô để xác minh tệp đính kèm tồn tại. Nếu tên tệp đính kèm bao gồm một mẫu, bạn nên chạy khô với cờ

$ sudo dnf install python3-mailmerge
7

$ pip install mailmerge
8

Tệp đính kèm hình ảnh nội tuyến

Ví dụ này cho thấy cách thêm tệp đính kèm hình ảnh nội tuyến để hình ảnh được hiển thị trực tiếp trong nội dung email. Bạn phải thêm hình ảnh nội tuyến dưới dạng tệp đính kèm trước khi tham chiếu nó trong nội dung

Ví dụ HTML. Mẫu
$ sudo pip install mailmerge
6

$ pip install mailmerge
9

Ví dụ đánh dấu. Mẫu
$ sudo pip install mailmerge
6

$ sudo pip install mailmerge
0

Đóng góp

Đóng góp từ cộng đồng được hoan nghênh. Xem hướng dẫn đóng góp

Sự nhìn nhận

Mailmerge được viết bởi Andrew DeOrio awdeorio@umich. giáo dục, http. //andre deorio. com. Sesh Sadasivam (@seshrs) đã đóng góp nhiều tính năng và sửa lỗi

Python có cho phép bạn thực hiện việc hợp nhất email không?

Trộn thư trong Python là một phương pháp đơn giản nhưng mạnh mẽ để gửi email được cá nhân hóa và tạo mẫu . Chúng tôi đã xem xét một số ví dụ hoạt động đơn giản để giúp bạn nắm vững chức năng của Python. Không bao giờ ngừng thử nghiệm và luôn kiểm tra kỹ lưỡng email của bạn trước khi thực sự gửi chúng đi.

Ba 3 loại trộn thư là gì?

Trộn thư yêu cầu ba loại tài liệu. (a) Tài liệu chính, (b) Nguồn dữ liệu và (c) Hợp nhất tài liệu . (a) Tài liệu chính. Trong thao tác Trộn thư, tài liệu được cá nhân hóa (chẳng hạn như thư tiêu chuẩn hoặc phong bì hoặc nhãn gửi thư) được gọi là tài liệu chính.

Làm thế nào để sử dụng trộn thư?

Để thực hiện việc này, hãy làm theo các bước sau. .
Nhấp vào Chỉnh sửa các chữ cái riêng lẻ
Trong hộp thoại Hợp nhất thành Tài liệu Mới, hãy chọn các bản ghi mà bạn muốn hợp nhất
Nhấp vào OK. .
Cuộn đến thông tin mà bạn muốn chỉnh sửa, sau đó thực hiện các thay đổi của mình
In hoặc lưu tài liệu giống như bất kỳ tài liệu thông thường nào

trộn thư với ví dụ là gì?

Trộn thư cho phép bạn tạo một loạt tài liệu được cá nhân hóa cho từng người nhận . Ví dụ: một mẫu thư có thể được cá nhân hóa để giải quyết từng người nhận theo tên. Nguồn dữ liệu, chẳng hạn như danh sách, bảng tính hoặc cơ sở dữ liệu, được liên kết với tài liệu.