Я только что установил сервер osTicket для нашей компании, и у меня возникла проблема с созданием билетов по электронной почте. Я использую Postfix в качестве своего SMTP-сервера и Dovecot как свой IMAP-сервер.
В панели osTicket я не получаю ошибок при настройке электронной почты. Но когда я отправил электронное письмо на адрес support@mydomain.com, он не создал ни одного тикета в моей панели osticket. Я проверил свой почтовый журнал, все в порядке. Я думаю, что что-то не так с моим файлом "automail.php".
Буду очень рад, если вы мне поможете. Заранее спасибо.
файл automail.php:
***
#!/usr/bin/php -q
<?php
/*********************************************************************
automail.php
PHP script used for remote email piping...same as as the perl version.
Peter Rotich <peter@osticket.com>
Copyright (c) 2006-2013 osTicket
http://www.osticket.com
Released under the GNU General Public License WITHOUT ANY WARRANTY.
See LICENSE.TXT for details.
vim: expandtab sw=4 ts=4 sts=4:
**********************************************************************/
# Configuration: Enter the url and key. That is it.
# url => URL to api/tickets.email e.g http://yourdomain.com/support/api/tickets.email
# key => API's Key (see admin panel on how to generate a key)
#
$config = array(
'url'=>'support.example.com/tickets.php',
'key'=>'A12857AA982EEE5612EF8F2443538D76'
);
#pre-checks
function_exists('file_get_contents') or die('upgrade php >=4.3');
function_exists('curl_version') or die('CURL support required');
#read stdin (piped email)
$data=file_get_contents('php://stdin') or die('Error reading stdin. No message');
#set timeout
set_time_limit(10);
#curl post
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $config['url']);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_USERAGENT, 'osTicket API Client v1.7');
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Expect:', 'X-API-Key: '.$config['key']));
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$result=curl_exec($ch);
curl_close($ch);
//Use postfix exit codes...expected by MTA.
$code = 75;
if(preg_match('/HTTP\/.* ([0-9]+) .*/', $result, $status)) {
switch($status[1]) {
case 201: //Success
$code = 0;
break;
case 400:
$code = 66;
break;
case 401: /* permission denied */
case 403:
$code = 77;
break;
case 415:
case 416:
case 417:
case 501:
$code = 65;
break;
case 503:
$code = 69;
break;
case 500: //Server error.
default: //Temp (unknown) failure - retry
$code = 75;
}
}
exit($code);
?>
Согласно официальной документации osTicket, есть два метода получения электронной почты: Email Piping и POP3 / IMAP Polling. И оба они требуют дополнительной настройки, которой вам не хватает.
Маршрутизация входящих писем
Настройка вашей системы для приема электронной почты варьируется от системы к системе и зависит от ваших личных предпочтений. osTicket в настоящее время поддерживает конвейерную передачу (псевдонимы) и методы опроса POP3 / IMAP для маршрутизации входящих писем. Билеты направляются в отдел, и им назначается приоритет по умолчанию, связанный с электронной почтой.
Чтобы включить получение входящей электронной почты, в панели администратора перейдите в «Настройки» и «Электронная почта» и установите флажок «Получение электронной почты», чтобы включить ее. По умолчанию он отключен.
Электронная почта
Метод конвейерной обработки позволяет обрабатывать электронную почту в реальном времени. На уровне почтового сервера требуется дополнительная настройка, чтобы передать исходное сообщение электронной почты обработчику конвейера osTicket. Поддерживаются как удаленные, так и локальные трубопроводы. Видеть Руководство по электронной почте.
POP3 / IMAP опрос
Метод опроса учетной записи POP3 / IMAP лучше всего подходит для пользователей с удаленными учетными записями почты и / или с ограниченным доступом к настройкам доставки почты. С каждым адресом электронной почты, добавленным в систему, может быть связана учетная запись. Видеть Руководство по настройке POP3 / IMAP.