【问题标题】:PHP open new email message with default mail clientPHP使用默认邮件客户端打开新电子邮件
【发布时间】:2025-12-22 22:35:06
【问题描述】:

我想通过一个链接打开一封电子邮件,该链接是个人电子邮件地址,该地址与他们的个人信息一起显示在表格中。

我可以“有点”让它工作;

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

新电子邮件使用默认邮件客户端打开,但电子邮件地址未填充在“收件人:”字段中,这正是我所追求的。

【问题讨论】:

    标签: php html email


    【解决方案1】:

    您拥有的代码会生成以下内容:

    <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 来实现相同的结果吗?
    • @pjmil116 在任何浏览器中查看页面都会检查 PHP 代码的 HTML 输出:只需查看页面的源代码即可。我不确定我是否理解“仅使用 PHP”的意思。
    • @pjmil116 mailto: 是一个客户端协议处理程序,与http: 不同:它没有 PHP 函数。您可以将 HTML 包装成一个字符串并输出,而不是在 HTML 中使用嵌入式 PHP,但网页的最终结果始终是 HTML。
    【解决方案2】:

    您的代码是编写的...未填充的原因要解决的是您的代码中存在小问题..锚标记中没有回显...

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

    【讨论】:

      【解决方案3】:

      试试这个

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

      对我有用

      【讨论】:

        最近更新 更多