在moodle中添加嵌入图像作为电子邮件附件

时间:2021-01-07 15:20:17

标签: php email moodle

我有一个名为 local_newsletter 的本地插件,用于发送电子邮件。我需要在 html 电子邮件中显示图像,我在插件中添加了设置,以便用户可以上传图像。

settings.php

$name = 'local_newsletter/logo_image';
$title =  get_string('settings:logo:title', 'local_newsletter');
$description =  get_string('settings:logo:description', 'local_newsletter');
$settingspage->add(new admin_setting_configstoredfile($name, $title, $description, 'preset', 0));

现在我可以像这样找到文件:

$context = \context_system::instance();
$file = $fs->get_file($context->id, 'local_newsletter', 'preset', 0, '/', 'newsletter_logo.png');

我不确定这是否是获取文件的最佳方式,也是最后一部分,文件名 'newsletter_logo.png',是硬编码的(可以用 $config = get_config('local_newsletter'); 修复并提取那里的名字)。

但是,我不知道如何获取文件的路径以便我可以发送它,无论是通过 email_to_user() 还是直接使用 PHPMailer(和 AddEmbeddedImage() 函数) .

这样做:

if ($file) {
   file_put_contents('php://stderr', print_r("path: {$file->get_filepath()} \n", TRUE));
}

返回 '/'

0 个答案:

没有答案