Mailversand

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
12 Beiträge • Seite 1 von 1
12 Beiträge Seite 1 von 1

Mailversand

Beitrag von SAP_ENTWICKLER (Specialist / 445 / 219 / 6 ) »
Hallo,

ich versende Mails mit OO. Allerdings habe ich immer nur Beispiele für den Versand einer Mail an genau einen Empfänger. Ich möchte aber eine Mail an mehrere Empfänger vesenden.

Wie mache ich das?


Hier mein aktuelles Coding

Code: Alles auswählen.

* Create recipient
  lo_recipient = cl_cam_address_bcs=>create_internet_address( i_dest ).

*Set recipient
  lo_send_request->add_recipient(
       EXPORTING
         i_recipient = lo_recipient i_express = 'X' ).

* Send email
  lo_send_request->send(
    EXPORTING
      i_with_error_screen = 'X'
    RECEIVING
      result = lv_sent_to_all ).
Muss dann dazu * Create recipient und * Set recipient in einer Loop mehrfach durchlaufen?


Danke

Viele Grüße

Norbert

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Mailversand

Beitrag von black_adept (Top Expert / 4133 / 130 / 956 ) »
Ja.

Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
SAP_ENTWICKLER

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Mailversand

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
Wenn moeglich wuerde ich persoenlich, alles was mit Emailversand und OO (CL_BCS) zu tun hat, ueber Verteilerlisten (TC SO23) loesen.

Re: Mailversand

Beitrag von JHM (Top Expert / 1211 / 2 / 202 ) »
Unit605 hat geschrieben:ueber Verteilerlisten (TC SO23) loesen.
Verteilerlisten sind meistens nett, aber eine SelOpt hat auch ihre Vorzüge.
Wenn z.B. der eMail-Verteiler pro Aufruf ein anderer sein soll (z.B. Nachsenden von archivierten Belegen als PDF, da der Kunde x verschiedene braucht).
Oder die Pflege der Verteiler bestimmten Berechtigungsprüfungen unterliegen muss, dann Z-Tabelle mit entsprechender Pflege Berechtigung.
Gruß Hendrik

Re: Mailversand

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
Unit605 hat geschrieben:Wenn moeglich wuerde ich persoenlich, alles was mit Emailversand und OO (CL_BCS) zu tun hat, ueber Verteilerlisten (TC SO23) loesen.
Dann aender ich meinen Vorschlag in: Wenn moeglich und sinnvoll wuerde ich persoenlich, alles was mit Emailversand und OO (CL_BCS) zu tun hat, ueber Verteilerlisten (TC SO23) loesen.

Das kam bei mir daher, dass ich in einer grossen schwerfaelligen Firma gearbeitet habe, in der viele Reports erstellt wurden und dann jedemenge Leute/Teams eine Email erhalten sollten.

Das "manuelle" Aendern von Verteilerlisten, ausserhalb von SAP, war mit neuen Emails (Anforderung der Aenderung) und sehr lange Aenderungszeiten verbunden.

Ich habe daraufhin, bei solchen Reports, einfach einen Parameter fuer die Verteilerliste angelegt und einen Button der diese Verteileriste direkt aufruft und derjenige kann sich dann selber, mit einem Klick, ein-/ oder austragen.

Re: Mailversand

Beitrag von JHM (Top Expert / 1211 / 2 / 202 ) »
Unit605 hat geschrieben:Ich habe daraufhin, bei solchen Reports, einfach einen Parameter fuer die Verteilerliste angelegt und einen Button der diese Verteileriste direkt aufruft und derjenige kann sich dann selber, mit einem Klick, ein-/ oder austragen.
Diese Lösung setzte ich auch ein, da ich das Problem kenne ;-)
Blöd wenn die User dann nicht nur sich, sondern noch andere aus dem Verteiler löschen. Oder jemand den falschen Verteiler über den Workplace pflegt.

Es gibt halt verschiedene Wege die möglich sind, man muss nur den finden/wählen, der das aktuelle Problem am besten löst.
Gruß Hendrik

Re: Mailversand

Beitrag von SAP_ENTWICKLER (Specialist / 445 / 219 / 6 ) »
Hallo,

der Weg mit dem Loop hat nicht so ganz funktioniert. Wenn man nur Adressen in TO einträgt könnte es klappen. Wenn man schon TO und CC nutzt nicht.

Folgendes Coding ordnet die unter Umständen verschiedenen Adressen zu:

Code: Alles auswählen.


 LOOP AT i_dest INTO w_empfaenger.

* Create recipient
    TRANSLATE w_empfaenger-adresse TO LOWER CASE.
    lo_recipient = cl_cam_address_bcs=>create_internet_address( w_empfaenger-adresse ).

*Set recipient
    CASE w_empfaenger-mail_to.

      WHEN 'TO' OR '  '.

        lo_send_request->add_recipient(
             EXPORTING
               i_recipient = lo_recipient
               i_express = 'X' ).

        f_mail_to = 'X'.

      WHEN 'CC'.

        lo_send_request->add_recipient(
            EXPORTING
              i_recipient = lo_recipient
              i_copy = 'X' ).

      WHEN 'BC'.

        lo_send_request->add_recipient(
            EXPORTING
              i_recipient = lo_recipient
              i_blind_copy = 'X' ).

      WHEN OTHERS.

        lo_send_request->add_recipient(
             EXPORTING
               i_recipient = lo_recipient
               i_express = 'X' ).

        f_mail_to = 'X'.

    ENDCASE.

  ENDLOOP.

* Send email
  lo_send_request->send(
    EXPORTING
      i_with_error_screen = 'X'
    RECEIVING
      result = e_sent ).

  IF e_sent IS INITIAL.
    RAISE mail_nicht_verschickt.

  ELSE.

    COMMIT WORK.
  ENDIF.

Tabelle I_dest enthält die relevanten Empfänger. In einem Test ordne ich zwei Adressen über TO und zwei über CC zu. Als Ergebnis erhalte ich in der SOST zwei EInträge. Eine Mail davon lässt sich übertragen, sie kommt u.a. in meiner Inbox an, dort stehen dann zwei Adressen in der TO-Zeile. Der zweite Eintrag läuft auf einen Übertragungsfehler, die Mail ist nicht zustellbar.

Wie kann ich hier den Versand an eine beliebige Verteilerliste erreichen?


Danke

Viele Grüße

Norbert

Re: Mailversand

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
Ich habe mir dazu eigene Klassen erstellt.

Aber hier ist ein anderes Beispiel, wie man es auch machen kann.

http://wiki.scn.sap.com/wiki/display/Sn ... a+group+ID

Code: Alles auswählen.

  
*** Distributionlist / Verteilerliste
         recipient = cl_distributionlist_bcs=>getu_persistent(
         i_dliname = lv_mlrec
         i_private = space ).
 
 
      CALL METHOD send_request->add_recipient
        EXPORTING
          i_recipient = recipient
          i_express   = ca_x.
 

Re: Mailversand

Beitrag von black_adept (Top Expert / 4133 / 130 / 956 ) »
Unit605 hat geschrieben:...
i_express = ca_x.
Argh - aus welchem Uralt-SAP-Schinken hast du denn das geklaut?
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Mailversand

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
black_adept hat geschrieben:
Unit605 hat geschrieben:...
i_express = ca_x.
Argh - aus welchem Uralt-SAP-Schinken hast du denn das geklaut?
Oben aus dem geposteten Link. Hab auf das CA_X aber gar nicht geachtet.

Ich haette es wohl so geschrieben:
i_express = abap_true.

Re: Mailversand

Beitrag von JHM (Top Expert / 1211 / 2 / 202 ) »
SAP_ENTWICKLER hat geschrieben:Der zweite Eintrag läuft auf einen Übertragungsfehler, die Mail ist nicht zustellbar.
Welcher Fehler kommt denn genau?
Kannst du die Mail versenden, wenn alle vier Empfänger im TO stehen?
Gruß Hendrik

Re: Mailversand

Beitrag von SAP_ENTWICKLER (Specialist / 445 / 219 / 6 ) »
Ja, wenn ich alle vier in die TO-Zeile setze kommt eine Mail mit vier Empfängern in der TO-Zeile.

Seite 1 von 1

Vergleichbare Themen

6
Antw.
2317
Views
Mailversand mit XLSX
von charlie01 » 20.08.2020 17:27 • Verfasst in ABAP® für Anfänger
1
Antw.
2185
Views
Mailversand mit Formatierungen
von KerstinW » 26.07.2005 11:48 • Verfasst in ABAP® für Anfänger
2
Antw.
2242
Views
Mailversand mit ABAP2XLSX
von TakerOne » 06.05.2013 11:46 • Verfasst in ABAP® Core
6
Antw.
18735
Views
Mailversand mit Anhang
von Sundra » 08.12.2009 16:42 • Verfasst in ABAP® Core
7
Antw.
9809
Views
Mailversand mit pdf-Anhang
von Manu » 30.07.2007 13:48 • Verfasst in Sales and Distribution

Aktuelle Forenbeiträge

FOR mit CORRESPONDING
Gestern von sap_enthusiast 11 / 1838
Netzplan drucken
Gestern von sap_enthusiast 2 / 181
SALV: Titel zu lang
vor 4 Tagen von ralf.wenzel 3 / 618
Web Feature Services (WFS) im SAP
vor einer Woche von msfox 1 / 1119
WM: Transportauftrag quittieren - drucken
vor einer Woche von JHM 4 / 3013

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

FOR mit CORRESPONDING
Gestern von sap_enthusiast 11 / 1838
Netzplan drucken
Gestern von sap_enthusiast 2 / 181
SALV: Titel zu lang
vor 4 Tagen von ralf.wenzel 3 / 618
Web Feature Services (WFS) im SAP
vor einer Woche von msfox 1 / 1119
WM: Transportauftrag quittieren - drucken
vor einer Woche von JHM 4 / 3013

Unbeantwortete Forenbeiträge

Web Feature Services (WFS) im SAP
vor einer Woche von msfox 1 / 1119
Erweiterung in ME51N/ME52N:
vor 4 Wochen von ABAPlerv 1 / 3451
Erweiterung in ME51N/ME52N:
vor 4 Wochen von ABAPlerv 1 / 3324