客户邮件使用频繁,邮件数量非常多时,每次进入邮件管理才收取邮件会导致进入慢。可以通过配置定时收取邮件的方法减轻每次收取时,收取的量,缓解速度问题
一、Windows系统
方法一、任务计划程序添加
1、打开"任务计划程序"
- 按 `Win + R`,输入 `taskschd.msc`
- 或在控制面板中找到"管理工具"→"任务计划程序"


2、创建基本任务
- 点击右侧"创建基本任务"
- 输入任务名称:`定时收取邮件`
- 输入描述:`自动从邮件服务器收取邮件`

3、设置触发器


4、设置操作


5、可通过创建任务实现每隔多少分钟进行收取
设置触发器中的重复任务间隔,实现一天内每隔多少分钟收取一次

方法二、命令行配置
schtasks /create /tn "定时收取邮件" /tr "php D:\ldcrm\www\crm\cron\fetch_emails.php" /sc minute /mo 10 /ru SYSTEM
- 参数说明:
- `/tn`:任务名称
- `/tr`:要执行的命令
- `/sc`:调度类型(minute表示每分钟)
- `/mo`:间隔时间(10表示每10分钟)
- `/ru`:运行身份
二、Linux系统
1、配置方法
第一步:编辑定时任务
bash
crontab -e
第二步:编辑定时任务
bash
*/10 * * * * cd /path/to/your/crm && /usr/local/php83/bin/php cron/fetch_emails.php >> cron/fetch_emails.log 2>&1
- 说明:
- `*/10 * * * *` = 每10分钟执行一次
- 请将 `/path/to/your/crm` 替换为您的实际CRM路径
- 如果php不在 `/usr/local/php83/bin/` 目录下,请使用 `which php` 查找正确路径
2、校验方法
bash
# 查看当前定时任务
crontab -l
# 手动测试执行一次
cd /path/to/your/crm
php cron/fetch_emails.php
# 查看执行日志
tail -f cron/fetch_emails.log
3、常用配置频率参考
bash
# 每5分钟执行(邮件较多时推荐)
*/5 * * * * cd /path/to/your/crm && php cron/fetch_emails.php >> cron/fetch_emails.log 2>&1
# 每10分钟执行(一般推荐)
*/10 * * * * cd /path/to/your/crm && php cron/fetch_emails.php >> cron/fetch_emails.log 2>&1
# 每30分钟执行(邮件较少时)
*/30 * * * * cd /path/to/your/crm && php cron/fetch_emails.php >> cron/fetch_emails.log 2>&1
# 每小时执行一次
0 * * * * cd /path/to/your/crm && php cron/fetch_emails.php >> cron/fetch_emails.log 2>&1
4、配置后没有生效的检查方法
(1)检查PHP路径
bash
which php
# 使用上面命令输出的路径替换配置中的php路径
(2)检查脚本权限
bash
chmod +x /path/to/your/crm/cron/fetch_emails.php
(3)查看错误日志
bash
tail -20 /path/to/your/crm/cron/fetch_emails.log