首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用催化剂和催化剂发送电子邮件中的html::Plugin::email

用催化剂和催化剂发送电子邮件中的html::Plugin::email
EN

Stack Overflow用户
提问于 2013-09-04 22:25:16
回答 1查看 104关注 0票数 0

我一直在阅读催化剂框架,我试图发送一封带有HTML内容的电子邮件,但没有成功。

我试着使用催化剂::Plugin::Email,就像这里一样。电子邮件被发送,但所有内容都以纯文本显示。

代码语言:javascript
运行
复制
sub send_email : Local {
    my ($self, $c) = @_;

    $c->email(
      header => [
        To      => 'me@localhost',
        Subject => 'A TT Email',
      ],
      body => $c->view('Web')->render($c, 'email.tt', {
          additional_template_paths => [ $c->config->{root} . '/email_templates'],
          email_tmpl_param1 => 'foo'
        }
      ),
    );
    # Redirect or display a message
}

我也读过关于催化剂::视图::电子邮件::模板的文章,但我不会安装它。

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-05 20:04:11

我现在可以用催化剂::Plugin::Email发送HTML电子邮件。来自文件:

"email()接受与Email::MIME::create()相同的参数。“

查看电子邮件::MIME::Creator,create方法结构是:

代码语言:javascript
运行
复制
my $single = Email::MIME->create(
    header_str => [ ... ],
    body_str   => '...',
    attributes => { ... },
);

my $multi = Email::MIME->create(
    header_str => [ ... ],
    parts      => [ ... ],
    attributes => { ... },
);

返回属性。散列键直接对应于方法或修改电子邮件中的消息::MIME::修饰符。允许的键是: content_type、字符集、名称、格式、边界、编码、处理和文件名。它们将映射到"$attr_set“以进行消息修改。

这是它正在工作的代码:

代码语言:javascript
运行
复制
sub send_email : Local {
    my ($self, $c) = @_;

    $c->email(
      header => [
        To      => 'me@localhost',
        Subject => 'A TT Email',
      ],
      body => $c->view('Web')->render($c, 'email.tt', {
          additional_template_paths => [ $c->config->{root} . '/email_templates'],
          email_tmpl_param1 => 'foo'
        }
      ),
      attributes => {
        content_type => 'text/html',
        charset => 'utf-8'
      },
    );

    # Redirect or display a message
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18624811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档