之后在Perl中创建Email对象并更新body_str

Boa*_*rdy 1 email perl

我正在尝试更新脚本,以便它可以使用该Email::MIME对象发送电子邮件.

我创建了电子邮件对象,然后更新了邮件的正文,因为邮件正文可以根据不同的情况而改变.

我有以下代码

my $message = Email::MIME->create(
    header_str => [
        From => 'someone@example.com',
        To  => 'someoneelse@example.com',
        Subject => 'This is the subject'
    ],
    attributes => {
        encoding => 'quoted-printable',
        charset => 'ISO-8859-1'
    }
);

if ( $i > 1 ) {
   $message->body_str = "Here's one message";
}
else {
   $message->body_str = "Here's seconds message";
}
Run Code Online (Sandbox Code Playgroud)

当我这样做时,我收到以下错误:

无法修改非左值子程序调用

错误行引用了我正在更新的位置 body_str

Cha*_*hak 5

$message->body_str 是一个get方法,没有设置.

您正在寻找的是body_set或者可能body_str_set.

#!/usr/bin/perl
use strict;
use warnings;
use Email::MIME;
my $message = Email::MIME->create(
    header_str => [
        From => 'someone@example.com',
        To  => 'someoneelse@example.com',
        Subject => 'This is the subject'
    ],
    attributes => {
        encoding => 'quoted-printable',
        charset => 'ISO-8859-1'
    }
);
#put your conditionals here
print $message->body_set('Blah');
Run Code Online (Sandbox Code Playgroud)

  • 你为什么要在谷歌上看?你为什么不读[模块的文档](https://metacpan.org/pod/Email::MIME)?您在问题中链接到它,因此您知道它存在. (3认同)
  • 祝贺10k :) (3认同)