PHP打开默认邮件客户端新邮件界面

4

我希望能够通过一个链接打开一个电子邮件,这个链接是人的电子邮件地址,在显示他们个人信息的表格中。

我可以“有点”让它工作,方法如下:

<a href="mailto:<?php $person['Person']['primEmail']; ?>"><?php echo $person['Person']['primEmail']; ?></a>

新的电子邮件使用默认邮件客户端打开,但电子邮件地址没有填入“收件人:”字段中,这真的是我需要的。
3个回答

8
你的代码会产生以下结果:
<a href="mailto:">info@example.com</a>

由于 href 属性没有指向实际的电子邮件地址,导致您遇到了这种行为。这是由于 href 属性中缺少 printecho 导致的。您的代码应该像下面这样:
<a href="mailto:<?php echo $person['Person']['primEmail']; ?>"><?php echo $person['Person']['primEmail']; ?></a>

这将产生:

<a href="mailto:info@example.com">info@example.com</a>

并且将按预期工作。


谢谢你的修复!有没有工具可以用来检查我的PHP代码的HTML输出?另外,是否有一种只使用PHP就能实现相同结果的方法? - pjmil
@pjmil116 在任何浏览器中查看页面都将检查您的PHP代码的HTML输出:只需查看页面源代码即可。我不确定您所说的“仅使用PHP”的意思。 - user113292
哦,我知道那个...但还是谢谢你提醒我。我的意思是,我可以使用 <?php echo Html->link->... ?> 代替 <a> 标签吗?例如,在 PHP 中是否有等效的“mailto”函数? - pjmil
@pjmil116 mailto:是一个客户端协议处理程序,类似于http::没有PHP函数。您可以将HTML包装成字符串并输出它,而不是在HTML中使用嵌入式PHP,但Web页面的最终结果始终是HTML。 - user113292

1

试试这个

<?php

    header("location: mailto:".$person['Person']['primEmail']);

?>

对我来说它有效


0

你的代码是正确的...未能填充收件人地址的原因是你的代码存在小问题...锚标签中没有回显...

<a href="mailto:<?php echo $person['Person']['primEmail']; ?>"><?php echo $person['Person']['primEmail']; ?></a>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接