}
if ($force) {
- Contact::updateFromProbe($contact_id, true);
+ Contact::updateFromProbe($contact_id, '', true);
}
$contact = DBA::selectFirst('contact', [], ['id' => $contact_id]);
Logger::log("Mail: Parsing mail ".$msg_uid, Logger::DATA);
$datarray = [];
+ $datarray['uid'] = $importer_uid;
+ $datarray['contact-id'] = $contact['id'];
$datarray['verb'] = Activity::POST;
$datarray['object-type'] = Activity\ObjectType::NOTE;
$datarray['network'] = Protocol::MAIL;
}
// Decoding the header
- $subject = imap_mime_header_decode($meta->subject);
+ $subject = imap_mime_header_decode($meta->subject ?? '');
$datarray['title'] = "";
foreach ($subject as $subpart) {
if ($subpart->charset != "default") {
$datarray['parent-uri'] = $datarray['uri'];
}
- $r = Email::getMessage($mbox, $msg_uid, $reply);
- if (!$r) {
- Logger::log("Mail: can't fetch msg ".$msg_uid." for ".$mailconf['user']);
- continue;
- }
-
- $datarray['body'] = Strings::escapeHtml($r['body']);
- $datarray['body'] = BBCode::limitBodySize($datarray['body']);
-
- Logger::log("Mail: Importing ".$msg_uid." for ".$mailconf['user']);
-
$headers = imap_headerinfo($mbox, $meta->msgno);
+
$object = [];
if (!empty($headers->from)) {
$datarray['owner-link'] = "mailto:".$contact['addr'];
$datarray['owner-avatar'] = $contact['photo'];
- $datarray['uid'] = $importer_uid;
- $datarray['contact-id'] = $contact['id'];
if ($datarray['parent-uri'] === $datarray['uri']) {
$datarray['private'] = 1;
}
+
if (!PConfig::get($importer_uid, 'system', 'allow_public_email_replies')) {
$datarray['private'] = 1;
$datarray['allow_cid'] = '<' . $contact['id'] . '>';
}
+ $datarray = Email::getMessage($mbox, $msg_uid, $reply, $datarray);
+ if (empty($datarray['body'])) {
+ Logger::log("Mail: can't fetch msg ".$msg_uid." for ".$mailconf['user']);
+ continue;
+ }
+
+ Logger::log("Mail: Importing ".$msg_uid." for ".$mailconf['user']);
+
Item::insert($datarray);
switch ($mailconf['action']) {