Senden von Outlook-Nachrichten von einem anderen Benutzer
Exchange Online bietet Postfachberechtigungen, über die ein Benutzer E-Mails senden kann, bei denen es so aussieht, als würden diese von einem anderen Benutzer, einer Verteilerliste, einer Gruppe, einer Ressource oder von einem freigegebenen Postfach gesendet werden. Microsoft Graph unterstützt dieses Feature auch, das Endergebnis variiert aber in Abhängigkeit von den genauen Berechtigungen, die in Exchange Online gewährt wurden, und von der API, die Sie zum Senden der E-Mail verwenden.
Berechtigungen
Für das Senden von Nachrichten von einem anderen Benutzer gelten zwei Arten von Berechtigungen:
- Microsoft Graph-Berechtigungen
- Postfachberechtigungen
Microsoft Graph-Berechtigungen
Um Nachrichten von einem anderen Benutzer zu senden, verwenden Anwendungen, die Benutzertoken verwenden, die Berechtigung Mail.Send.Shared.
Hinweis
Anwendungen, die Anwendungstoken anstelle von Benutzertoken verwenden und bei denen die Mail.Send-Berechtigung von einem Administrator genehmigt wurde, können E-Mails als beliebiger Benutzer in der Organisation senden, indem die E-Mails normal über das Postfach des Benutzers gesendet werden.
Postfachberechtigungen
Zwei Berechtigungen haben Auswirkungen auf das Endergebnis des Sendens einer Nachricht von einem anderen Benutzer: Senden im Auftrag von und Senden als. Der Benutzer, der bei der Anwendung mit der Berechtigung Mail.Send.Shared angemeldet ist, MUSS mindestens eine dieser Berechtigungen für das Postfach, die Gruppe oder die Verteilerliste besitzen, von der die E-Mail stammt.
Hinweis
Es ist derzeit nicht möglich, Microsoft Graph zu verwenden, um abzufragen, für welche Postfächer der authentifizierte Benutzer über Berechtigungen verfügt.
Senden im Auftrag von
Mit dieser Berechtigung hat der Empfänger der E-Mail einen Hinweis in seinen E-Mail-Client, dass der Benutzer Ihrer Anwendung die Nachricht im Namen eines anderen Benutzers gesendet hat.
Dies wird in Microsoft Graph als die sender
Eigenschaften (der Benutzer, der die Nachricht tatsächlich gesendet hat) und from
(der Benutzer, die Gruppe usw., von denen die Nachricht zu stammen scheint) verfügbar gemacht.
{
"id": "AAMkAGE1...",
"subject": "Send mail test",
"sender": {
"emailAddress": {
"name": "Adele Vance",
"address": "AdeleV@contoso.com"
}
},
"from": {
"emailAddress": {
"name": "Pradeep Gupta",
"address": "PradeepG@contoso.com"
}
}
}
Ein Benutzer kann diese Berechtigung für das eigene Postfach einem anderen Benutzer mithilfe von Outlook erteilen. Administratoren können diese Berechtigung für ein beliebiges Postfach, eine beliebige Gruppe oder eine beliebige Verteilerliste im Microsoft 365 Admin Center erteilen.
Senden als
Bei dieser Berechtigung gibt es keinen Hinweis darauf, dass die Nachricht als ein anderer Benutzer gesendet wurde. Die sender
-Eigenschaft und die from
-Eigenschaft weisen denselben Wert auf.
Benutzer können diese Berechtigung nicht für ihre Postfächer erteilen. Administratoren können diese Berechtigung im Microsoft 365 Admin Center erteilen.
Senden mit Microsoft Graph
Sie können Nachrichten von einem anderen Benutzer senden, indem Sie die Nachricht direkt senden oder einen Entwurf erstellen und diesen dann senden.
Um Nachrichten von einem anderen Benutzer zu senden, legen Sie die from
-Eigenschaft in der Nachricht, die an die E-Mail-Adresse des Benutzers gesendet wird, auf „Senden von“ fest. Sie müssen die sender
-Eigenschaft nicht festlegen. Microsoft Graph legt sie entsprechend fest, basierend auf den Postfachberechtigungen, die dem angemeldeten Benutzer erteilt wurden.
Konfigurieren Sie die Nachricht wie folgt, um beispielsweise E-Mails von der Gruppe sales@contoso.com
zu senden.
{
"subject": "January sales report",
"toRecipients": [
{
"emailAddress": {
"address": "MeganB@contoso.com"
}
}
],
"from": {
"emailAddress": {
"address": "sales@contoso.com"
}
}
}
Verhalten von gesendeten Elementen
Nachdem die Nachricht gesendet wurde, kann sie im Ordner „Gesendete Elemente“ des sendenden Benutzers, im Ordner „Gesendete Elemente“ des ursprünglichen Benutzers oder in beiden Ordnern gespeichert werden. Sie müssen die Nachricht aber nicht speichern.
Hinweis
Wenn die Nachricht von einer Adresse gesendet wird, die nicht über ein Postfach verfügt (z. B. eine Verteilerliste), gibt es für den Benutzer, von dem die Nachricht stammt, keinen Ordner „Gesendete Elemente“.
- Wenn Ihre Anwendung die Nachricht über den
/me
-Endpunkt sendet (oder über/users/{user-id}
, wobeiuser-id
dem angemeldeten Benutzer entspricht), so wird die Nachricht standardmäßig im Ordner „Gesendete Elemente“ des sendenden Benutzers gespeichert. - Wenn Ihre Anwendung die Nachricht über
/users/{user-id}
sendet, wobeiuser-id
dem Benutzer entspricht, von dem die Nachricht stammt, so wird die Nachricht standardmäßig im Ordner „Gesendete Elemente“ des Benutzers gespeichert, von dem die Nachricht stammt.Wichtig
Um eine Nachricht auf diese Weise zu senden, muss der sendende Benutzer zusätzlich zur Berechtigung Senden im Auftrag von oder Senden als über die Postfachberechtigung Vollzugriff verfügen.
Das Standardverhalten kann durch andere externe Faktoren geändert werden:
- Administratoren können das Postfach des Benutzers, von dem die Nachricht stammt, so ändern, dass im Ordner „Gesendete Elemente“ immer eine Kopie von Nachrichten gespeichert wird, die von einem Stellvertreter gesendet werden.
- Durch Festlegen der
saveToSentItems
-Eigenschaft auffalse
in einer Anforderung zum Senden von E-Mails können Sie verhindern, dass die Nachricht im Ordner „Gesendete Elemente“ gespeichert wird. Wenn ein Administrator aber die Einstellung „immer eine Kopie speichern“ konfiguriert hat, wird die Nachricht dennoch im Ordner „Gesendete Elemente“ des Benutzers gespeichert, von dem die Nachricht stammt.
Beispiele
Beispiel 1: Erfolgreiches Senden über /me-Endpunkt
In diesem Beispiel wurde Adele Vance die Berechtigung Senden im Auftrag von für das Postfach von Allan Deyoung erteilt.
Anforderung
POST /me/sendmail
Content-Type: application/json
{
"message": {
"subject": "Expense reports",
"body": {
"contentType": "text",
"content": "Have you submitted your expense reports yet?"
},
"toRecipients": [
{
"emailAddress": {
"address": "MeganB@contoso.com"
}
}
],
"from": {
"emailAddress": {
"address": "AllanD@contoso.com"
}
}
}
}
Antwort
HTTP/1.1 202 Accepted
Beispiel 2: Fehlgeschlagener Sendeversuch ohne Berechtigungen
In diesem Beispiel versucht Adele Vance, eine E-Mail von Patti Fernandez zu senden, ihr wurde aber weder die Berechtigung Senden im Auftrag von noch die Berechtigung Senden als erteilt. Die Antwort enthält einen ErrorSendAsDenied
-Fehler.
Anforderung
POST /me/sendmail
Content-Type: application/json
{
"message": {
"subject": "Support ticket",
"body": {
"contentType": "text",
"content": "I noticed you opened a support ticket yesterday..."
},
"toRecipients": [
{
"emailAddress": {
"address": "MeganB@contoso.com"
}
}
],
"from": {
"emailAddress": {
"address": "PattiF@contoso.com"
}
}
}
}
Antwort
HTTP/1.1 403 Forbidden
Content-Type: application/json
{
"error": {
"code": "ErrorSendAsDenied",
"message": "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.",
"innerError": {
"request-id": "24e7991e-01ae-4cc2-8e06-532a96fd8948",
"date": "2019-01-16T18:53:25"
}
}
}
Nächste Schritte
- Gründe für die Integration in Outlook-Mail
- Verwenden der E-Mail-API und ihrer Anwendungsfälle in Microsoft Graph v1.0