如何在电子邮件签名中设置旋转图像
How to set up rotating images in email signature
我的公司要求我更改我们的签名,以便我们使用的当前图像被一组 4 个旋转的图像替换,因此一次只显示一个,但它们经常变化。
现在的问题是我们使用 Exclaimer Cloud 通过 Office 365 运行 管理我们的电子邮件签名。Exclaimer have an article on how to achieve it 在他们的软件中,但对我来说这看起来太耗时了。我已经为不同的部门设计了大约 6 种不同的签名,他们的方法包括将每个签名分成 3 部分并在上面做一些花哨的东西,但即使他们承认这种方法需要管理员输入以在每次旋转图像到达最后一个时重置日期一。对我来说,将 6 个签名分成 3 个部分,全部设置,持续管理等等是不可行的。
所以我有一些其他的想法,但不知道如何开发它们,也不知道它们是否适合我自己:
- 我拥有公司 (LAMP) 服务器的管理员权限。我可以在上面托管图像并使用脚本每隔 X 分钟重命名一次,以便在每次代码 运行s?
之后有不同的图像匹配 link
- 有什么方法可以将服务器设置为每次调用 link 时传送不同的图像?
Exclaimer 不支持签名中的任何嵌入式 html,因此据我所知,类似这样的内容必须在服务器端。
就解决方法而言,我已完成以下操作:
- 我在服务器目录中放置了 4 个备用签名设计横幅,然后复制其中一个并将其命名为
banner-main.png
- 然后我将图像放在 Exclaimer 中作为签名 link 到这个复制的文件所以
[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>
我的公司要求我更改我们的签名,以便我们使用的当前图像被一组 4 个旋转的图像替换,因此一次只显示一个,但它们经常变化。
现在的问题是我们使用 Exclaimer Cloud 通过 Office 365 运行 管理我们的电子邮件签名。Exclaimer have an article on how to achieve it 在他们的软件中,但对我来说这看起来太耗时了。我已经为不同的部门设计了大约 6 种不同的签名,他们的方法包括将每个签名分成 3 部分并在上面做一些花哨的东西,但即使他们承认这种方法需要管理员输入以在每次旋转图像到达最后一个时重置日期一。对我来说,将 6 个签名分成 3 个部分,全部设置,持续管理等等是不可行的。
所以我有一些其他的想法,但不知道如何开发它们,也不知道它们是否适合我自己:
- 我拥有公司 (LAMP) 服务器的管理员权限。我可以在上面托管图像并使用脚本每隔 X 分钟重命名一次,以便在每次代码 运行s? 之后有不同的图像匹配 link
- 有什么方法可以将服务器设置为每次调用 link 时传送不同的图像?
Exclaimer 不支持签名中的任何嵌入式 html,因此据我所知,类似这样的内容必须在服务器端。
就解决方法而言,我已完成以下操作:
- 我在服务器目录中放置了 4 个备用签名设计横幅,然后复制其中一个并将其命名为
banner-main.png
- 然后我将图像放在 Exclaimer 中作为签名 link 到这个复制的文件所以
[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>