microsoftgraph / microsoftgraph/msgraph-sdk-php

The user account which was used to submit this request does not have the right to send mail on behalf of the specified sending account., Cannot submit message.ok

Offen
#1,412 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
PHP
Sterne
669
Forks
150
Ø Merge
15 Std. 21 Min.
Gemergte PRs (30 T.)
3

Beschreibung

I try to send un email with ClientCredential and it doesn't work, i dont known if i do ther right thing :
Here is my code :

$tokenRequestContext = new ClientCredentialContext(
    'tenantId',
    'clientId',
    'secret'
);

$graphServiceClient = new GraphServiceClient($tokenRequestContext);

try {
    $sender = new EmailAddress();
    $sender->setAddress('john.doe@outlook.com');
    $sender->setName('John Doe');
    $fromRecipient = new Recipient();
    $fromRecipient->setEmailAddress($sender);

    $recipients = [];

    $recipientEmail = new EmailAddress();
    $recipientEmail->setAddress('jane.doe@outlook.com');
    $recipientEmail->setName('Jane Doe');
    $toRecipient = new Recipient();
    $toRecipient->setEmailAddress($recipientEmail);
    $recipients[] = $toRecipient;

    $emailBody = new ItemBody();
    $emailBody->setContent('Dummy content');
    $emailBody->setContentType(new BodyType(BodyType::TEXT));

    $message = new Message();
    $message->setSubject('Test Email');
    $message->setFrom($fromRecipient);
    $message->setToRecipients($recipients);
    $message->setBody($emailBody);

    $requestBody = new SendMailPostRequestBody();
    $requestBody->setMessage($message);

    /** @var UserItemRequestBuilder $user */
    $user = $graphServiceClient->users()->byUserId('userPrincipalName');
    $response = $user->sendMail()->post($requestBody)->wait();
    dump($response);

} catch (ApiException $ex) {
    echo $ex->getError()->getMessage();
}

I try to delegate right to send on userPrincipalName email but it doesn't work
i read doc lot of times and i don't understand why i doesn't work
I dont know if i can send an email like this with credential client account ?

Can you help me please ?
Thank you in advance

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginnen Sie mit der im Issue gezeigten Einrichtung von ClientCredentialContext und der users()->byUserId()->sendMail()-Anfrage. Überprüfen Sie die Microsoft Graph-Berechtigungen und die Kontokonfiguration, die beim Senden im Namen des angegebenen Benutzers beteiligt sind, und bestätigen Sie anschließend, dass der dokumentierte client-credential flow diese Anfrage unterstützt. Als erledigt gilt, wenn Sie die fehlende Konfiguration identifiziert oder einen reproduzierbaren SDK-Fehler bestätigt haben.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
php
Bereich
api, authorization
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.