Web2py - Email & SMS
web2py bao gồm các chức năng gửi e-mail và SMS cho người dùng. Nó sử dụng thư viện để gửi email và sms.
Thiết lập Email
Lớp tích hợp cụ thể là gluon.tools.Maillớp được sử dụng để gửi email trong khuôn khổ web2py. Có thể định nghĩa bưu phẩm với lớp này.
from gluon.tools import Mail
mail = Mail()
mail.settings.server = 'smtp.example.com:25'
mail.settings.sender = '[email protected]'
mail.settings.login = 'username:password'
Email của người gửi như đã đề cập trong ví dụ trên cùng với mật khẩu sẽ được xác thực mỗi khi một email được gửi đi.
Nếu người dùng cần thử nghiệm hoặc sử dụng cho một số mục đích gỡ lỗi, điều này có thể đạt được bằng cách sử dụng mã sau.
mail.settings.server = 'logging'
Bây giờ, tất cả các email sẽ không được gửi đi nhưng nó sẽ được đăng nhập trong bảng điều khiển.
Gửi một e-mail
Khi chúng tôi đã thiết lập cài đặt cấu hình cho email bằng đối tượng mail, một email có thể được gửi cho nhiều người dùng.
Cú pháp hoàn chỉnh của mail.send() như sau -
send(
to, subject = 'Abc',
message = 'None', attachments = [],
cc = [], bcc = [], reply_to = [],
sender = None, encoding = 'utf-8',
raw = True, headers = {}
)
Việc thực hiện mail.send() được đưa ra dưới đây.
mail.send(
to = ['[email protected]'], subject = 'hello',
reply_to = '[email protected]',
message = 'Hello ! How are you?'
)
Mailtrả về biểu thức Boolean dựa trên phản hồi của máy chủ gửi thư mà người dùng cuối nhận được thư. Nó trở lạiTrue nếu nó thành công trong việc gửi một email đến người dùng.
Các thuộc tính của, cc và bcc bao gồm danh sách các địa chỉ email hợp lệ để gửi thư.
Gửi SMS
Việc triển khai gửi tin nhắn SMS khác với gửi email trong khuôn khổ web2py vì nó sẽ yêu cầu dịch vụ của bên thứ ba có thể chuyển tiếp tin nhắn đến người nhận. Dịch vụ của bên thứ ba không phải là dịch vụ miễn phí và rõ ràng sẽ khác nhau dựa trên khu vực địa lý (từ quốc gia này sang quốc gia khác).
web2py sử dụng một mô-đun để giúp gửi SMS với quy trình sau:
from gluon.contrib.sms_utils
import SMSCODES, sms_email
email = sms_email('1 (111) 111-1111','T-Mobile USA (abc)')
mail.send(to = email, subject = 'test', message = 'test')
Trong ví dụ trên, SMSCODES là từ điển được duy trì bởi web2py, ánh xạ tên của các công ty điện thoại lớn vào địa chỉ email postfix.
Các công ty điện thoại thường coi các email có nguồn gốc từ các dịch vụ của bên thứ ba là thư rác. Một phương pháp tốt hơn là các công ty điện thoại tự chuyển tiếp tin nhắn SMS. Mỗi công ty điện thoại bao gồm một địa chỉ email duy nhất cho mọi số điện thoại di động trong bộ nhớ của mình và SMS có thể được gửi trực tiếp đến email.
Trong ví dụ trên,
Các sms_email hàm nhận một số điện thoại (dưới dạng một chuỗi), trả về địa chỉ email của điện thoại.
Ứng dụng giàn giáo bao gồm một số tệp. Một trong số đó là models / db.py, nhập bốn.
Các lớp học từ gluon.tools cũng bao gồm các thư viện thư và định nghĩa các đối tượng toàn cục khác nhau.
Ứng dụng giàn giáo cũng xác định các bảng được yêu cầu bởi đối tượng auth, chẳng hạn như db.auth_user. Ứng dụng giàn giáo mặc định được thiết kế để giảm thiểu số lượng tệp, không theo mô-đun. Đặc biệt, tệp mô hình,db.py, chứa cấu hình, trong môi trường sản xuất, tốt nhất nên được giữ trong các tệp riêng biệt.
Ở đây, chúng tôi khuyên bạn nên tạo một tệp cấu hình -
from gluon.storage import Storage
settings = Storage()
settings.production = False
if
settings.production:
settings.db_uri = 'sqlite://production.sqlite'
settings.migrate = False
else:
settings.db_uri = 'sqlite://development.sqlite'
settings.migrate = True
settings.title = request.
settings.subtitle = 'write something here'
settings.author = 'you'
settings.author_email = '[email protected]'
settings.keywords = ''
settings.description = ''
settings.layout_theme = 'Default'
settings.security_key = 'a098c897-724b-4e05-b2d8-8ee993385ae6'
settings.email_server = 'localhost'
settings.email_sender = '[email protected]'
settings.email_login = ''
settings.login_method = 'local'
settings.login_config = ''