• 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

Hosting forpsi easy 1 pln
+1 głos
73 wizyt
pytanie zadane 14 listopada 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 przez Nudzi mi się Gaduła (4,420 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 5 dni temu przez kordix Gaduła (3,910 p.)
Pytanie czy korzystaliście z innych skrzynek które mają api
komentarz 4 dni temu przez Nudzi mi się Gaduła (4,420 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 639 wizyt
0 głosów
1 odpowiedź 110 wizyt
pytanie zadane 24 stycznia 2021 w PHP przez Dariusz2021 Nowicjusz (140 p.)
0 głosów
1 odpowiedź 455 wizyt
pytanie zadane 26 kwietnia 2018 w PHP przez smokolisz Mądrala (6,340 p.)

92,133 zapytań

140,789 odpowiedzi

317,830 komentarzy

61,457 pasjonatów

Advent of Code 2023

Top 15 użytkowników

  1. 1886p. - Łukasz Eckert
  2. 1856p. - Dawid128
  3. 1844p. - Marcin Putra
  4. 1844p. - CC PL
  5. 1818p. - rafalszastok
  6. 1775p. - Mikbac
  7. 1760p. - rucin93
  8. 1741p. - sefirek
  9. 1682p. - Adrian Wieprzkowicz
  10. 1652p. - Eryk Andrzejewski
  11. 1644p. - jaroslawroszyk
  12. 1565p. - Rafał Trójniak
  13. 1467p. - dia-Chann
  14. 1445p. - nidomika
  15. 1424p. - ssynowiec
Szczegóły i pełne wyniki

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.

Uwaga - w dniach od 02.12 do 08.12 trwają Mikołajki (książki drukowane mają rabat -35%, ebooki do -45%). Zaś dodatkowy, specjalny kod zniżkowy: HELMIKOLAJ-10 dla naszych Widzów zapewni Wam oszczędność -10zł dla zamówień powyżej 70zł! Warto korzystać!

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...