我目前正在寻找一种通过WordPress网站发送电子邮件通知的方法。例如,当用户访问页面A时,将在后台发送电子邮件通知。
我在WordPress环境中没有太多Web开发经验,所以有人可以在这里给我一个指针吗?我应该从哪里开始?
感谢。
编辑:
我已尝试过mail()& wp_mail()函数,但它们似乎都不适合我。当我访问该页面时,没有发送任何电子邮件。我还检查了该页面的模板,这只是默认模板。也许我正在编辑错误的文件?
EDIT2:
我猜邮件功能可能尚未由托管服务提供商启用。
答案 0 :(得分:4)
这是一段发送html电子邮件的非常基本的PHP代码。
<?php
if(is_page(123))
{
$fromName = 'Auto email notification system';
$subject = 'Confirmed';
/* Mail Address */
$toAddr = 'me@domain.com';
$bccAddr = 'bccperson@domain.com';
$fromAddr = 'no-reply@domain.com';
/* End Mail Address */
/* Mail Body */
$msg = '
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
my messages about confirmation...
</body>
</html>
';
$msg = wordwrap($msg, 70);
/* End Mail Body */
/* Mail Headers Setup */
$headers = array();
$headers[] = "MIME-Version: 1.0";
$headers[] = "Content-type: text/html; charset=utf-8";
$headers[] = "From: ".$fromName." <".$fromAddr.">";
$headers[] = "Bcc: <".$bccAddr.">";
/* End Mail Headers Setup */
mail($toAddr, $subject, $msg, implode("\r\n", $headers));
}
?>
我把上面的代码放在header.php文件的底部,它对我来说很有用。
谢谢大家提出的所有建议和帮助。
答案 1 :(得分:1)
您可能希望PHP的mail功能发送电子邮件和WordPress is_page()之类的内容,以便在您要发送电子邮件时识别页面,所以
<?php
if(is_page()) :
mail('email@address.com','My Subject','My Message');
endif;
?>
另外,请查看底部is_page的“相关”部分 - 您可能希望使用其他一些确定要发送电子邮件的页面。
答案 2 :(得分:1)
嘿@woodykiddy为页面创建模板并将此代码放在页面中。 每次加载页面时,此条件都返回true。
// Example using the array form of $headers
// assumes $to, $subject, $message have already been defined earlier...
$headers[] = 'From: Me Myself <me@example.net>';
$headers[] = 'Cc: Aravind B Codex <abc@wordpress.org>';
$headers[] = 'Cc: iluvwp@wordpress.org'; // note you can just use a simple email address
<?php
if(is_page()) :
wp_mail( $to, $subject, $message, $headers );
endif;
?>
http://codex.wordpress.org/Function_Reference/wp_mail
希望这会对你有所帮助。
答案 3 :(得分:1)
创建模板很容易。创建一个新页面my-template.php将此代码放在顶部。
<?php
/*
Template Name: My New Template
*/
?>
但这取决于你的主题。我已经为你编辑过了。它将为您提供创建模板的想法。
<?php
/*
Template Name: My New Template
*/
get_header();
$headers[] = 'From: Me Myself <me@example.net>';
$headers[] = 'Cc: Aravind B Codex <abc@wordpress.org>';
$headers[] = 'Cc: iluvwp@wordpress.org'; // note you can just use a simple email address
?>
<?php
if(is_page()) :
wp_mail( $to, $subject, $message, $headers );
endif;
?>
<div id="container">
<div id="content" role="main">
<?php
/* Run the loop to output the page.
* If you want to overload this in a child theme then include a file
* called loop-page.php and that will be used instead.
*/
get_template_part( 'loop', 'page' );
?>
</div><!-- #content -->
</div><!-- #container -->
将电子邮件代码放入其中。将其保存在模板目录中。
转到管理面板并添加/编辑页面。在页面的右侧有一个选项(模板)。 您的模板将在下拉列表中显示。 选择模板并保存页面即可。