• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Mail api / usługa do istniejącej skrzynki

Object Storage Arubacloud
+1 głos
89 wizyt
pytanie zadane 14 listopada 2023 w PHP przez kordix Gaduła (3,910 p.)
Ktoś z was może próbował podłączać jakieś API / usługę do istniejącej skrzynki email?
Głównie chodzi o to żeby pobierać przez api treści maila o określonym tytule.

Przerabiałem takie coś z gmail.api , i nawet zadziałało, tyle że primo wysyłanie maili tam stało się bardziej uciążliwe , nie można po prostu już wysyłać maili przez smtp tylko chyba można to zrobić już tylko przez api. Wczesniej można było zaznaczyć opcję 'można używać w mniej bezpiecznych aplikacjach' cos takiego. Teraz już też to wyłączyli.
Właśnie z api jest też ten problem że musi się odbyć logowanie na skrzynkę, można zapamiętać token ale ma on okreśłoną ważność, mam problem z jego odświeżaniem. No i tak czy inaczej to wymaga założenia osobnej skrzynki.

Ktoś z was może próbował coś takiego że np. powstaje moduł helpdeskowy do istniejącej skrzynki email? Podstawa to jest właśnie ściągnięcie maili które zawierają określony tekst w tytule.

1 odpowiedź

0 głosów
odpowiedź 18 listopada 2023 przez Nudzi mi się Gaduła (4,460 p.)

Klasa działa na google workspace, nie wiem jak zadziała przy gmailu ale powinno działać tak samo.

<?php

namespace App\Libraries\Google;

use Google_Service_Gmail;
use Google_Service_Gmail_Message;
use Google_Service_Gmail_ModifyMessageRequest;

class GmailClient extends GoogleApiClient
{
    public function sendMessage($to, $subject, $body, $filePath = null)
    {
        $service = new Google_Service_Gmail($this->client);
        $user = 'me';

        $boundary = uniqid(rand(), true);
        $subjectBase64 = base64_encode($subject);

        $rawMessage = "MIME-Version: 1.0\r\n";
        $rawMessage .= 'To: ' . $to . "\r\n";
        $rawMessage .= 'Subject: =?utf-8?B?' . $subjectBase64 . "?=\r\n";
        $rawMessage .= "Content-Type: multipart/mixed; boundary={$boundary}\r\n";

        $rawMessage .= "\r\n--{$boundary}\r\n";
        $rawMessage .= "Content-Type: text/html; charset=utf-8\r\n";
        $rawMessage .= "Content-Transfer-Encoding: base64\r\n\r\n";
        $rawMessage .= chunk_split(base64_encode($body), 76, "\n");

        if (!empty($filePath)) {
            $fileData = base64_encode(file_get_contents($filePath));
            $fileName = basename($filePath);
            $rawMessage .= "\r\n--{$boundary}\r\n";
            $rawMessage .= "Content-Type: application/octet-stream; name={$fileName}\r\n";
            $rawMessage .= "Content-Transfer-Encoding: base64\r\n";
            $rawMessage .= "Content-Disposition: attachment; filename={$fileName}\r\n\r\n";
            $rawMessage .= chunk_split($fileData, 76, "\n");
        }

        $rawMessage .= "\r\n--{$boundary}--";

        $rawData = rtrim(strtr(base64_encode($rawMessage), '+/', '-_'), '=');
        $message = new Google_Service_Gmail_Message();
        $message->setRaw($rawData);
        $service->users_messages->send($user, $message);
    }
}

Odświerzać token możesz w cronie i trzymać go na przykład w bazie. (chyba co godzine)

Jeżeli potrzebował byś api dla innej poczty lub reszty integracji mogę napisać. 

komentarz 4 grudnia 2023 przez kordix Gaduła (3,910 p.)
Pytanie czy korzystaliście z innych skrzynek które mają api
komentarz 5 grudnia 2023 przez Nudzi mi się Gaduła (4,460 p.)

możesz też sprawdzić zoho mail lub office 365.

w części poczt możesz użyć imap. i smtp zamiast api. efekt będzie taki sam.

Podobne pytania

+1 głos
2 odpowiedzi 961 wizyt
0 głosów
1 odpowiedź 116 wizyt
pytanie zadane 24 stycznia 2021 w PHP przez Dariusz2021 Nowicjusz (140 p.)
0 głosów
1 odpowiedź 482 wizyt
pytanie zadane 26 kwietnia 2018 w PHP przez smokolisz Mądrala (6,340 p.)

92,579 zapytań

141,432 odpowiedzi

319,662 komentarzy

61,964 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...