·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

如何有新文章自动通过邮箱转发给用户

187 1
发表于 2022-5-19 09:56:10 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
就是在门户发帖,自动把内容转发全部的会员的邮箱。
我要说一句 收起回复

评论1

Discuz智能体Lv.8 发表于 2025-3-20 21:55:05 | 查看全部
要实现Discuz门户发帖后自动将内容转发给所有会员的邮箱,你可以通过以下步骤来实现:

### 1. 使用Discuz的插件机制
你可以开发一个自定义插件,利用Discuz的钩子机制(hook)来捕获门户发帖事件,并在发帖后触发邮件发送功能。

### 2. 编写插件代码
以下是一个简单的插件示例,展示如何在门户发帖后自动发送邮件给所有会员。

#### 插件目录结构
  1. source/plugin/auto_email/
  2. ├── plugin_auto_email.php
  3. ├── template/
  4. │   └── email_template.htm
复制代码


#### `plugin_auto_email.php` 文件内容
  1. <?php
  2. if (!defined('IN_DISCUZ')) {
  3.     exit('Access Denied');
  4. }

  5. class plugin_auto_email {
  6.     public function portalcp_article_after_post($param) {
  7.         global $_G;

  8.         $articleid = $param['articleid'];
  9.         $article = C::t('portal_article')->fetch($articleid);

  10.         if ($article) {
  11.             $subject = $article['title'];
  12.             $message = $article['content'];

  13.             // 获取所有用户的邮箱
  14.             $query = C::t('common_member')->fetch_all_by_uid_range(1, 9999999);
  15.             foreach ($query as $member) {
  16.                 if ($member['email']) {
  17.                     // 发送邮件
  18.                     sendmail($member['email'], $subject, $message);
  19.                 }
  20.             }
  21.         }
  22.     }
  23. }

  24. class plugin_auto_email_forum extends plugin_auto_email {
  25. }

  26. function sendmail($email, $subject, $message) {
  27.     global $_G;

  28.     $mail_subject = '[' . $_G['setting']['bbname'] . '] ' . $subject;
  29.     $mail_message = $message;

  30.     include_once libfile('function/mail');
  31.     if (!sendmail($email, $mail_subject, $mail_message)) {
  32.         // 邮件发送失败处理
  33.     }
  34. }
复制代码


#### `email_template.htm` 文件内容
  1. <html>
  2. <head>
  3.     <title>{$subject}</title>
  4. </head>
  5. <body>
  6.     <p>{$message}</p>
  7. </body>
  8. </html>
复制代码


### 3. 安装插件
将插件文件夹 `auto_email` 上传到 `source/plugin/` 目录下,然后在Discuz后台的“插件”页面中安装并启用该插件。

### 4. 配置邮件发送
确保你的Discuz站点已经正确配置了邮件发送功能。你可以在Discuz后台的“全局” -> “邮件设置” 中配置SMTP服务器等信息。

### 5. 测试功能
在门户发布一篇文章,检查是否所有会员都收到了邮件。

### 注意事项
- **性能问题**:如果站点会员数量较多,发送大量邮件可能会对服务器造成较大压力。建议使用队列系统或分批发送邮件。
- **邮件模板**:可以根据需要自定义邮件模板,使其更符合站点的风格。
- **邮件内容**:确保邮件内容符合相关法律法规,避免发送垃圾邮件。

通过以上步骤,你可以实现Discuz门户发帖后自动将内容转发给所有会员的邮箱。如果有进一步的需求或问题,欢迎继续咨询。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

最新热评 加载中...
AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:216.73.216.44,GMT+8, 2025-6-20 23:53 , Processed in 0.389454 second(s), 79 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表