Вот мои настройки для этого плагина
Я поместил источник данных в /app/models/datasource/imap_source.php
в database.php добавил эту переменную
var $emailTicket = array(
'datasource' => 'imap',
'server' => 'imap.gmail.com',
//'connect' => 'imap/tls/novalidate-cert', //comment it out
'username' => 'username',
'password' => '*******',
'port' => '993',
'ssl' => true,
'encoding' => 'UTF-8',
'error_handler' => 'php',
'auto_mark_as' => array(
'Seen',
// 'Answered',
// 'Flagged',
// 'Deleted',
// 'Draft',
)
);
и в моей модели
var $useDbConfig = 'emailTicket';
Это работает нормально, пока вы не попытаетесь извлечь вложения
для извлечения вложений, я раскомментировал эти две строки и прокомментировал еще одну строку для флага is_attachment
protected function _awesomePart($Part, $uid) {
if (!($Part->format = @$this->encodingTypes[$Part->type])) {
$Part->format = $this->encodingTypes[0];
}
if (!($Part->datatype = @$this->dataTypes[$Part->type])) {
$Part->datatype = $this->dataTypes[0];
}
$Part->mimeType = strtolower($Part->datatype . '/' . $Part->subtype);
$Part->is_attachment = false;
$Part->filename = '';
$Part->name = '';
$Part->uid = $uid;
if ($Part->ifdparameters) {
foreach ($Part->dparameters as $Object) {
if (strtolower($Object->attribute) === 'filename') {
#$Part->is_attachment = true; //uncomment this line
$Part->filename = $Object->value;
}
}
}
if ($Part->ifparameters) {
foreach ($Part->parameters as $Object) {
if (strtolower($Object->attribute) === 'name') {
#$Part->is_attachment = true; //uncomment this line
$Part->name = $Object->value;
}
}
}
if (false !== strpos($Part->path, '.')) {
$Part->is_attachment = true; //comment this line
}
return $Part;
}
надеюсь, что это работает для вас