邮件发送
Masonite 有一个简单而强大的邮件功能,用于从您的应用程序发送电子邮件。
创建电子邮件
要使用 Masonite 创建和发送电子邮件,您必须首先构建一个Mailable类。此类将充当您的电子邮件的设置,例如您发送的地址、标题、电子邮件的文本、电子邮件的 html 等。
当您准备好发送电子邮件时,可以更改或覆盖所有这些设置,稍后会详细介绍。
第一步,运行命令,初始化邮件模块
$ python craft mailable Welcome这将创建您的邮件模块,它看起来像这样:
class Welcome(Mailable):
    def build(self):
        (
            self.subject("Welcome to our site!")
            .from_("admin@example.com")
            .view("mailables.welcome", {})
        )发送邮件
您可以使用Mail类在控制器中轻松发送邮件:
from masonite.mail import Mail
from app.mailables.Welcome import Welcome
class WelcomeController(Controller):
    def welcome(self, mail: Mail):
        mail.mailable(Welcome().to('user@example.com')).send()请注意,此时您可以在发送邮件前,调用相应方法修改配置。
邮件选项
您可以使用这些选项中的任何一个来修改可邮寄的行为
| Options | Description | 
|---|---|
| to('user@example.com') | 指定要向其发送电子邮件的用户。 您也可以指定用户名,例如 to('Joseph <user@example.com>')。 | 
| from_("admin@example.com") | 指定电子邮件应显示的地址。 | 
| cc(["accounting@example.com"]) | 应“抄送”到此电子邮件的地址列表 | 
| bcc(["accounting@example.com"]) | 应“盲抄”到此电子邮件的地址列表 | 
| subject('Subject of the Email') | 指定电子邮件的主题。 | 
| reply_to('customers@example.com') | 指定当用户单击回复此电子邮件时将设置的地址 | 
| text('Welcome to Masonite') | 指定电子邮件的文本信息 | 
| html('Welcome to Masonite') | 指定电子邮件的 HTML 信息 | 
| view('mailables.view', {}) | 指定带有数据的视图文件以呈现电子邮件的 HTML 版本 | 
| priority(1) | 指定电子邮件的优先级,值应为 1 到 5。 | 
| low_priority() | 将电子邮件的优先级设置为 5。 | 
| high_priority() | 将电子邮件的优先级设置为 1。 | 
| attach('MAY.pdf', 'path/invoice.pdf') | 将文件附加到电子邮件。 | 
发送附件
使用 Masonite 发送附件真的很简单。只需在发送之前将文件附加到可邮寄文件:
user = user.find(1)
welcome_mailable = WelcomeMailable().to(f"{user.name} <{user.email}>')
welcome_mailable.attach("MAY-2021-invoice.pdf", "storage/pdf/invoice.pdf")
mail.mailable(welcome_mailable).send()然后,你将在电子邮件中看到你的附件。
可邮寄的响应
当你构建电子邮件时,最好先看看它们的视觉效果,然后再发送它们。当你尝试使这些样式恰到好处时,这可以节省大量时间。
你可以简单地在你的控制器中返回你的邮件,它会像一个普通的视图文件一样返回。
from app.mailables.Welcome import Welcome
class WelcomeController(Controller):
    def welcome(self):
        return Welcome()如果你在 mailable 中使用 view() 选项,那么你需要在 mailable 上设置应用程序:
from app.mailables.Welcome import Welcome
from wsgi import application
class WelcomeController(Controller):
    def welcome(self):
        return Welcome().set_application(application)更改驱动程序
你可以使用 send() 方法中的 driver 参数更改发送电子邮件的驱动程序:
mail.send(Welcome().to('user@example.com'), driver="smtp")本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
 
           Masonite 中文文档
 Masonite 中文文档 
         
         
         
             
             关于 LearnKu
                关于 LearnKu
               
                     
                     
                     粤公网安备 44030502004330号
 粤公网安备 44030502004330号