API GMAIL PHP: отсутствует адрес электронной почты в сообщении - PullRequest
0 голосов
/ 02 марта 2020

В настоящее время я работаю над API Gmail, чтобы получать входящие сообщения пользователей. Сначала перечислил все сообщения по $service->users_messages->listUsersMessages($userId, $opt_param);, а затем, просматривая каждое сообщение, совершил еще один вызов для извлечения деталей сообщения по $message = $service->users_messages->get($userId, $message->getId(), ['format' => 'full']);. Хорошо, до этого момента все выглядит нормально, кроме заголовка сообщения $headers = $message->getPayload()->getHeaders();. При выводе $headers он имеет следующий вывод:

Array
(
    [0] => Google_Service_Gmail_MessagePartHeader Object
        (
            [name] => Delivered-To
            [value] => delytedev@gmail.com
            [internal_gapi_mappings:protected] => Array
                (
                )

            [modelData:protected] => Array
                (
                )

            [processed:protected] => Array
                (
                )

        )

    [1] => Google_Service_Gmail_MessagePartHeader Object
        (
            [name] => Received
            [value] => by 2002:a67:2504:0:0:0:0:0 with SMTP id l4csp3083503vsl;        Wed, 26 Feb 2020 02:09:55 -0800 (PST)
            [internal_gapi_mappings:protected] => Array
                (
                )

            [modelData:protected] => Array
                (
                )

            [processed:protected] => Array
                (
                )

        )

    [2] => Google_Service_Gmail_MessagePartHeader Object
        (
            [name] => X-Google-Smtp-Source
            [value] => APXvYqwVuj26tm4NRwJYx/gNMy9trHQTkArhTDUFQHyjlAo7OjiWI6I8mu6N5lNih++SkMlz15H7
            [internal_gapi_mappings:protected] => Array
                (
                )

            [modelData:protected] => Array
                (
                )

            [processed:protected] => Array
                (
                )

        )

    [3] => Google_Service_Gmail_MessagePartHeader Object
        (
            [name] => X-Received
            [value] => by 2002:a6b:cf0a:: with SMTP id o10mr2623730ioa.267.1582711795109;        Wed, 26 Feb 2020 02:09:55 -0800 (PST)
            [internal_gapi_mappings:protected] => Array
                (
                )

            [modelData:protected] => Array
                (
                )

            [processed:protected] => Array
                (
                )

        )

    [4] => Google_Service_Gmail_MessagePartHeader Object
        (
            [name] => ARC-Seal
            [value] => i=1; a=rsa-sha256; t=1582711795; cv=none;        d=google.com; s=arc-20160816;        b=n813uD4BBKp1s5SCQpjH3664DDICiaXQL1Yep/pJvTUmLXLK7LSnFaHEl4kDZJNUAv         QW47YjRKO+hb0MURB3/vJwk1WICyjvXd63JYuAye/TUtrdE4dPlJnRE+9jXuYhAPWNNv         zZQbyt/MCIyTK5VuIr+W6MlyamiBgASvHBlycrITG1We1DYXhTvbMPc1Lu1AqDV+8puW         665zW8eu+vKGFQAfmFW+arkYDGfJpxF4sBCjMsOjVa3rTk3LPCD9XPyF9/CrIyFjS833         HZF2XpDy+7T9+0VF5fik4daA4X/uHaWESc2pFTfQZBlYOzvhxiVqpgEuZA5N8Q10KzIY         AbpA==
            [internal_gapi_mappings:protected] => Array
                (
                )

            [modelData:protected] => Array
                (
                )

            [processed:protected] => Array
                (
                )

        )

    [5] => Google_Service_Gmail_MessagePartHeader Object
        (
            [name] => ARC-Message-Signature
            [value] => i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;        h=references:mime-version:subject:message-id:to:from:date         :dkim-signature;        bh=ZByF3HZm6Y0+fZ3jvksYfxcwySWLovN1j4FDpA+7HJI=;        b=dsOQ5caDWBu3UKAwFXzOGLnlekeCmNljOBSy+GJfnmXxgpDfLO2UCgV/YUbHi7xMpU         3SF8V5LDAG36gOPjHeSvwZk05G0yFlhm7LVYOwfYxn2SO1FqiiiPZL90j5gs+sC6qvsO         gqHaTVgX1AXIjaS70LN13BlYldSMfOZEnFWw4Sp9QeI5qDIRAy4XCVt5abIdh7Wa9wLc         eWsH0zGG7jTrGTO8zCmUZ07o7InMxWHiN44D2UgJ5NzhXPskNK2/qkRl8LUGJ5ZAqFQt         TGamIa2fEpu0p10n5UBIL+ePVd4bNgroDARRHAA88LE71zs6n7k+H0nue32pcYYvFwxk         B5Eg==
            [internal_gapi_mappings:protected] => Array
                (
                )

            [modelData:protected] => Array
                (
                )

            [processed:protected] => Array
                (
                )

        )

    [6] => Google_Service_Gmail_MessagePartHeader Object
        (
            [name] => ARC-Authentication-Results
            [value] => i=1; mx.google.com;       dkim=pass header.i=@yahoo.com header.s=s2048 header.b=o0LtIbwR;       spf=pass (google.com: domain of ampeddhaka@yahoo.com designates 66.163.184.200 as permitted sender) smtp.mailfrom=ampeddhaka@yahoo.com;       dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=yahoo.com
            [internal_gapi_mappings:protected] => Array
                (
                )

            [modelData:protected] => Array
                (
                )

            [processed:protected] => Array
                (
                )

        )

    [7] => Google_Service_Gmail_MessagePartHeader Object
        (
            [name] => Return-Path
            [value] => 
            [internal_gapi_mappings:protected] => Array
                (
                )

            [modelData:protected] => Array
                (
                )

            [processed:protected] => Array
                (
                )

        )

    [8] => Google_Service_Gmail_MessagePartHeader Object
        (
            [name] => Received
            [value] => from sonic301-31.consmr.mail.ne1.yahoo.com (sonic301-31.consmr.mail.ne1.yahoo.com. [66.163.184.200])        by mx.google.com with ESMTPS id n6si1713530ioj.132.2020.02.26.02.09.54        for         (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);        Wed, 26 Feb 2020 02:09:55 -0800 (PST)
            [internal_gapi_mappings:protected] => Array
                (
                )

            [modelData:protected] => Array
                (
                )

            [processed:protected] => Array
                (
                )

        )

    [9] => Google_Service_Gmail_MessagePartHeader Object
        (
            [name] => Received-SPF
            [value] => pass (google.com: domain of ampeddhaka@yahoo.com designates 66.163.184.200 as permitted sender) client-ip=66.163.184.200;
            [internal_gapi_mappings:protected] => Array
                (
                )

            [modelData:protected] => Array
                (
                )

            [processed:protected] => Array
                (
                )

        )

    [10] => Google_Service_Gmail_MessagePartHeader Object
        (
            [name] => Authentication-Results
            [value] => mx.google.com;       dkim=pass header.i=@yahoo.com header.s=s2048 header.b=o0LtIbwR;       spf=pass (google.com: domain of ampeddhaka@yahoo.com designates 66.163.184.200 as permitted sender) smtp.mailfrom=ampeddhaka@yahoo.com;       dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=yahoo.com
            [internal_gapi_mappings:protected] => Array
                (
                )

            [modelData:protected] => Array
                (
                )

            [processed:protected] => Array
                (
                )

        )

    [11] => Google_Service_Gmail_MessagePartHeader Object
        (
            [name] => DKIM-Signature
            [value] => v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1582711794; bh=ZByF3HZm6Y0+fZ3jvksYfxcwySWLovN1j4FDpA+7HJI=; h=Date:From:To:Subject:References:From:Subject; b=o0LtIbwRD5EQRWxOUyuUYSPn8UDhWKLcyy54qDpmpsGCbulSHFq9NNv+AyFt0xVb+sC/k30rdv+dWkE0ZFvLhiBIjbzYH9Qxu1FqfWnx8mXh0Pr04tjE/FquKbrDSzgwFN3uwMe6zmKk4kKxcrUuVRKjAsZRmQrAWsQzA5sQ5tlvNa7dv6HQb+aNxJ3chOhweGjZguPtbNHHGmHsitzJ9zYPRdomI2RgBuXZkBoF4dJCWrWRT/tQYY/aAdfr+f4T5sKNy7/7JxFKSW98mT8eFUrrMP87U6sH03wCuzOXbJQf0JYABPuK6zhaKyRvXoYHSOGEYzWMCXHUpBkm0JsBrA==
            [internal_gapi_mappings:protected] => Array
                (
                )

            [modelData:protected] => Array
                (
                )

            [processed:protected] => Array
                (
                )

        )

    [12] => Google_Service_Gmail_MessagePartHeader Object
        (
            [name] => X-YMail-OSG
            [value] => ComfOQ4VM1k9lHKEWeLZRPMDnDXiwafiy0R14bqBbOJVmN3SLHYISEKbrZvjzPf jgGByj0K.2LMvtL7Ug7SH619leY1qu.hlMOuTUTqYjMTtHt23kb4.VVPzGd0sANK517w0t687Xig P30ZhxLnWasKr2Gqn7nxeJrcGHRBVkssA4ZURe1Cm0mX5HtZS27_hrYpoCxNnroJgD.0oFQ3B91C 7HkrNmJVfpXRpIhdxt3UKlgIHQXpZQnR7L03H5lai2rk0Y7.MMZv6uQK0Y1.7J2VBbEjnx41s.w0 359xGPvD2NIeZqG3Aq0WkxPCbPakBKs8rOfN67YGTxp_PmHLitMyS0oJqI2V32jOLMZji3x06CvJ McmPSiEhCs5hcZssxz9z4C0K0hxgT3mWpN3ZJbBwE1CNVXUr9TSu8vwCiTVu8gFkuqsEyEgu5nm6 xnAAD_yidjJbrI9gpsGcpyq93Zbu3Npab8n2UJy6g5P_urKYFDJu0dAZwLt3nRzng1YjdfH.PTIS 21WIsUkHCH9_xqEU.lZaGCOC5ZUC_1q6N._QA0atjBNnjtS4lItFzteu5ngZ_iAZq6G8FxWkqe8Z M2QRy_wt7xBrAZR2VoKV6ckNMnSmSU.2M.0owQGzGFh57Xnc4Nuo2HqPPusIhOskqZfou6rT6vwp _TycXP_KH8ZfFEeQLxeTDwm8oTo.6Dk3KeseE_AITPKWjt7HbkyE2w_odVYoTtp_sY0hFJDzyJ4z 4PL2OAWHOicpgtyS1UgIMk06YeJsBA3kOc0J3Rs_jVgmFcMthUltGv0rxIFDVtZ7O0UpohGpJo3D SgZq1J9WhFN_jyktQBx1XpAmCxhjAsSMRTP0M4FM6ab50PYItmFn1CohEvNTLUjJI5aZVU3MnFZ2 h.qMFs4GZ3oDYjpmgXeE9u3OiqcvMOuAG6vT.reHB3VmLUqpQhmQOFMPTnAshNgk8qutr6.KYhXQ 9xazZp4YFU4S64x.Mou.YzPLDgRaZZgn_gcUwSYp4J8IQbDoF04I7dqclcN1mJ74LIY7sorjqPzr edBtQ5Pf5fZqqAKGq_du6kHtaElGEeOZ6nHKcqOGzSiNJ4V5RNc2NTr.fVlXA3lOKreEGzAKJKdm ehIIRVenpAIoGrPJ9Kx.3kpYdIjSFnySvY5zEFAuog_RyKeNfCXohcW4G_nWjzW3Riahld4MffVb xSxNelc564NEkYZcyCW5jfcFLP_5EpIGvaSpelCG42neXaSCMw00JFCb5At6h4DlkkYJIyVB4Yy4 HL3Y12cJFvr.JjlHrO2yKz6rvWEvJhIpDdlUqn8PH_6LHMTzFaOtKyldXHPE3.xOnHiM-
            [internal_gapi_mappings:protected] => Array
                (
                )

            [modelData:protected] => Array
                (
                )

            [processed:protected] => Array
                (
                )

        )

    [13] => Google_Service_Gmail_MessagePartHeader Object
        (
            [name] => Received
            [value] => from sonic.gate.mail.ne1.yahoo.com by sonic301.consmr.mail.ne1.yahoo.com with HTTP; Wed, 26 Feb 2020 10:09:54 +0000
            [internal_gapi_mappings:protected] => Array
                (
                )

            [modelData:protected] => Array
                (
                )

            [processed:protected] => Array
                (
                )

        )

    [14] => Google_Service_Gmail_MessagePartHeader Object
        (
            [name] => Date
            [value] => Wed, 26 Feb 2020 10:09:52 +0000 (UTC)
            [internal_gapi_mappings:protected] => Array
                (
                )

            [modelData:protected] => Array
                (
                )

            [processed:protected] => Array
                (
                )

        )

    [15] => Google_Service_Gmail_MessagePartHeader Object
        (
            [name] => From
            [value] => Suvash Sarker 
            [internal_gapi_mappings:protected] => Array
                (
                )

            [modelData:protected] => Array
                (
                )

            [processed:protected] => Array
                (
                )

        )

    [16] => Google_Service_Gmail_MessagePartHeader Object
        (
            [name] => To
            [value] => Suvash Sarker 
            [internal_gapi_mappings:protected] => Array
                (
                )

            [modelData:protected] => Array
                (
                )

            [processed:protected] => Array
                (
                )

        )

    [17] => Google_Service_Gmail_MessagePartHeader Object
        (
            [name] => Message-ID
            [value] => <43159510.720338.1582711792495@mail.yahoo.com>
            [internal_gapi_mappings:protected] => Array
                (
                )

            [modelData:protected] => Array
                (
                )

            [processed:protected] => Array
                (
                )

        )

    [18] => Google_Service_Gmail_MessagePartHeader Object
        (
            [name] => Subject
            [value] => Rokomari book fair
            [internal_gapi_mappings:protected] => Array
                (
                )

            [modelData:protected] => Array
                (
                )

            [processed:protected] => Array
                (
                )

        )

    [19] => Google_Service_Gmail_MessagePartHeader Object
        (
            [name] => MIME-Version
            [value] => 1.0
            [internal_gapi_mappings:protected] => Array
                (
                )

            [modelData:protected] => Array
                (
                )

            [processed:protected] => Array
                (
                )

        )

    [20] => Google_Service_Gmail_MessagePartHeader Object
        (
            [name] => Content-Type
            [value] => multipart/alternative; boundary="----=_Part_720337_324050781.1582711792494"
            [internal_gapi_mappings:protected] => Array
                (
                )

            [modelData:protected] => Array
                (
                )

            [processed:protected] => Array
                (
                )

        )

    [21] => Google_Service_Gmail_MessagePartHeader Object
        (
            [name] => References
            [value] => <43159510.720338.1582711792495.ref@mail.yahoo.com>
            [internal_gapi_mappings:protected] => Array
                (
                )

            [modelData:protected] => Array
                (
                )

            [processed:protected] => Array
                (
                )

        )

    [22] => Google_Service_Gmail_MessagePartHeader Object
        (
            [name] => X-Mailer
            [value] => WebService/1.1.15302 YMailNorrin Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36
            [internal_gapi_mappings:protected] => Array
                (
                )

            [modelData:protected] => Array
                (
                )

            [processed:protected] => Array
                (
                )

        )

    [23] => Google_Service_Gmail_MessagePartHeader Object
        (
            [name] => Content-Length
            [value] => 777
            [internal_gapi_mappings:protected] => Array
                (
                )

            [modelData:protected] => Array
                (
                )

            [processed:protected] => Array
                (
                )

        )

)

У меня вопрос из вывода этого заголовка, как я могу получить адрес электронной почты отправителей и получателей. Пожалуйста, посмотрите блок, где значения From и To не включают в себя электронную почту.

[15] => Google_Service_Gmail_MessagePartHeader Object
        (
            [name] => From
            [value] => Suvash Sarker 
            [internal_gapi_mappings:protected] => Array
                (
                )

            [modelData:protected] => Array
                (
                )

            [processed:protected] => Array
                (
                )

        )

    [16] => Google_Service_Gmail_MessagePartHeader Object
        (
            [name] => To
            [value] => Suvash Sarker 
            [internal_gapi_mappings:protected] => Array
                (
                )

            [modelData:protected] => Array
                (
                )

            [processed:protected] => Array
                (
                )

        )

Еще одна вещь, которую я хочу отметить, при попытке того же самого в google api explorer https://developers.google.com/gmail/api/v1/reference/users/messages/get it работает нормально, и я вижу, что это включает в себя адрес электронной почты с именем. Ниже приведен пример ...

{
    "name": "From",
    "value": "Suvash Sarker \u003campeddhaka@yahoo.com\u003e"
   },
   {
    "name": "To",
    "value": "Suvash Sarker \u003cdelytedev@gmail.com\u003e"
   },

Ответы [ 2 ]

1 голос
/ 03 марта 2020

Я решил проблему, все работает нормально. При выводе результата он показывал только имя, а когда я передавал значение htmlentities($header->getValue());, это работало.

0 голосов
/ 02 марта 2020

Это должно быть примерно так.

foreach($results as $mail){
  $message = $service->users_messages->get($user, $mail['id']);
  $headers = $message->getPayload()->getHeaders();
  $from = getHeader($headers, 'From');
  $to = getHeader($headers, 'TO');
}
...