如何在电子邮件签名中设置旋转图像

Posted

技术标签:

【中文标题】如何在电子邮件签名中设置旋转图像【英文标题】:How to set up rotating images in email signature 【发布时间】:2020-07-28 12:21:52 【问题描述】:

我的公司要求我更改签名,以便我们使用的当前图像替换为一组 4 个旋转的图像,因此一次只显示一个,但它们经常变化。

现在的问题是我们使用 Exclaimer Cloud 来管理通过 Office 365 运行的电子邮件的签名。Exclaimer have an article on how to achieve it 在他们的软件中,但对我来说这看起来太耗时了。我已经为不同的部门设计了大约 6 种不同的签名设计,他们的方法包括将每个签名分成 3 个部分并在上面做一些花哨的东西,但即使他们承认这种方法需要管理员输入以在每次旋转图像到达最后一个时重置日期一。对我来说,将 6 个签名分成 3 个部分,全部设置,持续管理等等是不可行的。

所以我有一些其他的想法,但不知道如何开发它们或知道它们是否可以自己工作:

我对公司 (LAMP) 服务器具有管理员访问权限。我可以在上面托管图像并使用脚本每 X 分钟重命名一次,以便每次代码运行后都有不同的图像与链接匹配吗? 是否有任何方法可以设置服务器以在每次调用链接时提供不同的图像?

Exclaimer 不支持在签名中嵌入任何 html,所以据我所知,这样的东西必须是服务器端的。

【问题讨论】:

【参考方案1】:

到目前为止,我已经完成了以下工作:

    我在服务器目录中放置了 4 个备用签名设计横幅,然后复制其中一个并将其命名为 banner-main.png 然后我将图像放在 Exclaimer 中作为此复制文件的签名链接,所以[url]/banner-main.png 然后,我在同一个目录中创建了index.php,并使用了一个单选表单,该表单允许选择我上传的四个图像中的任何一个。提交表单后,它会复制所选图像并将其重命名为 banner-main.png,这会覆盖以前使用此名称的文件。 我考虑过重写代码,以便页面每半小时左右自动刷新一次,并在刷新时选择序列中的下一个图像。做到这一点并不难。

这种方法对我有用,与 Exclaimer 方法相比相对简单,但仍然不理想。如果图像可以在服务器端重写而无需在我的浏览器中打开页面,或者不需要任何人工输入/维护的方式,我会更喜欢它。

这里是我目前正在使用的代码,也许它会帮助别人。

<!DOCTYPE html>
<html>
<body>

<?php

$formval = $_POST["banners"] ;
$newname = "banner-main.png" ;
$dir = "/home/armorgar/public_html/sites/productinfo/sig/" ;
$htmldir = "/sig/" ;

$oldimg = $dir . $formval . ".png" ;
$newimg =  $dir . $newname ;



if (copy($oldimg, $newimg)) 
        echo ($formval . " is the new email signature image.") ;
     else 
        echo "Sorry, there was an error.";
         ;


echo "<br>" ;
echo '<a href="https://prod.armorgard.co.uk/sig/banner-main.png?var=' . rand(0,100000) . '" target="_blank">Test link to banner</a>' ;
echo "<br>" ;

?> 

<h1>Which banner is next?</h1>

<br>

      <form action="/sig/index.php" method="post">
         <input type="radio" name="banners" value="banner-1">Banner 1
         <br>
         <input type="radio" name="banners" value="banner-2">Banner 2
         <br>
         <input type="radio" name="banners" value="banner-3">Banner 3
         <br>
         <input type="radio" name="banners" value="banner-4">Banner 4
         <br>
         <input type="submit" value="Submit">
      </form>

</body>
</html>

【讨论】:

以上是关于如何在电子邮件签名中设置旋转图像的主要内容,如果未能解决你的问题,请参考以下文章

263企业邮箱 如何在Outlook邮件客户端中设置IMAP收发邮件

如何在 jekyll 中设置大小/旋转图像?

如何在php中设置电子邮件正文的样式[重复]

如何在C#MailMessage中设置电子邮件过期时间

如何在django中设置发送邮件

使用流明发送电子邮件,而不在 env 文件中设置 smtp 凭据