【问题标题】:HTML don't change text to emailHTML 不会将文本更改为电子邮件
【发布时间】:2015-01-25 23:12:32
【问题描述】:

解释我的问题有点复杂,但我会尽力而为。

所以我正在用 perl 编写一个程序,它会生成一封我这样发送的电子邮件:

system("mutt -e 'set content_type=text/html' -s \"".$subject."\" ".$addresses."  < ".$mailname);

在邮件中,我收到类似“abc2@example.yn.swx”的文本 现在 Outlook 将其更改为邮件地址。 是否可以在代码中写入不应该更改的代码? 我知道我可以更改 Outlook 中的选项,但是这封邮件会发给很多人,我不希望每个人都更改选项。

谢谢大家

【问题讨论】:

  • 如果您在谈论电子邮件的内容,将 content_type 更改为 text/plain 可以解决此问题,但您将无法格式化任何内容
  • 实际上可能不会 - Outlook 在为您“解释”事物方面非常烦人。 echo "me@me.com" | mail my_addr 导致 Outlook 进行插值。

标签: html perl email outlook


【解决方案1】:

Outlook 很神奇,它会自动将“电子邮件地址”和“网址”转换为可点击的链接。

无论您是否发送纯文本都没关系 - 它发生在客户端,因此您无法控制它。

但是,如果您引用“类似电子邮件地址”的内容,如下所示:

echo "'myemail@mydomain.com'" | mail ... 

然后 Outlook 将显示(引用的)电子邮件地址,而不自动链接它。

不过,更一般地说,我可以建议您不要内联“系统”来发送邮件,而实际上您可以通过 exec 管道做得很好:

open ( my $mailer, "|-", "/usr/lib/sendmail $mail_rcpt" ) or die $!;

print {$mailer} "From: My_automated_system\n";
print {$mailer} "To: Sobrique\n";   
print {$mailer} "Subject: Some subject here \n";
print {$mailer} "\n\n"; #end of headers

print {$mailer} $email_content;

close ( $mailer ); 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多