1. 程式人生 > >配置-如何用ABAP實現自動傳送外部郵件

配置-如何用ABAP實現自動傳送外部郵件

在dev系統上試驗。根據老白部落格上的步驟來做的,加進了自己的理解。

1.      配置引數檔案Profile parameter(RZ10)

點修改,新建引數icm/server_port_1 賦值為“ PROT=SMTP,PORT=25”

a)icm/server_port_<*> = PROT=SMTP,PORT=<port>

事務碼RZ10進去,選擇例項引數檔案,選擇擴充套件。來到引數配置介面,預設情況下已經有一個引數檔案icm/server_port_0 = PORT=HTTP,PORT=XXXX(每個服務可能不一樣),那麼這裡的<*>就是要根據你的引數檔案的具體情況,如果已經有了_0,這裡你就需要設成_1,以此類推,PORT一般設定成25,這裡還有一個選項是TIMEOUT可以設定等待郵件

伺服器回覆時間的最大值。這裡我的引數檔案時:icm/server_port_1 = PROT=SMTP,PORT=25

新建引數is/SMTP/virt_host_0 賦值為“ *:25;”

b)is/SMTP/virt_host_<*> = <host>:<port>,<port>,...;
定義虛擬郵件主機,主要用來接收郵件的,_<*>的設定通上。要注意,引數值最後是有一個分號的。這裡我的引數檔案是is/SMTP/virt_host_0 = *:25;

完成後儲存,啟用。配置完需要重啟服務,引數才能生效

2.配置使用者(SU01)

a)對於每一個client,需要建立一個使用者作為郵件的接收者,比如我建立了一個使用者叫做MAILUSER,使用者的型別設定為service,並給該使用者賦profile S_A.SCON

開啟SU01在登入資料標籤中,我修改了自己的使用者名稱的使用者型別diaglog型別為service型別。

注:第一次我把使用者型別改為了系統使用者,第二天再登入系統時提示用對話使用者登入。所以記得把型別修改回來,否則重新登入系統時可能登入不上。因為系統使用者和通訊使用者不允許使用SAP GUI登入。service型別可以使用SAP GUI登入。詳見sap使用者型別.txt

b)對於每個使用者來說,如果需要傳送或者接收郵件的話,也需要在為其配置email地址,在su01中的地址標籤的E-mail中配置即可,通訊方式為remote email

3.client assignment(tcode:SICF)執行這個事務碼,進去後

點執行

進去後可以看到STMP servers,預設應該是灰色的,雙擊SMTP servers,配置以下幾個地方

a)      Host data 主機資料,對於 Profile Parameter Number,輸入 "is/STMP/virt_host_<*>"中的<*>的值,一般可能是0,如果不存在的話,下面會有提示的。

b)      Service data(貌似就是上圖的登入資料,反正我就是在那裡填的),輸入接收郵件的相關資訊,client以及前面建立的MAILUSER和密碼、語言等資訊。

c)      Handler list,在第一個位置輸入CL_SMTP_EXT_SAPCONNECT
   

完成以上配置後,右鍵點選SMTP servers,選擇啟用。

     4.SAPconnect administration(tcode:SCOT)


        a)選單欄設定----Default domain,此處我寫的是公司的郵件伺服器

這個郵件的預設域名比如sap.com,那麼如果在你傳送郵件的時候收件人地址如果只寫test的話,系統會自動加上@sap.com,如果收件人地址是全的話,這個domain不維護關係也不大
        b) 維護SMTP節點:檢視----節點Nodes—開啟節點

或者雙擊上上圖SMTP後彈出對話方塊,維護以下資訊


勾上 "Node in user".

在MAIL HOST和MAIL PORT下面,指定傳送郵件伺服器的地址,比如如果是163的話,就應該是smtp.163.com

這裡MAIL HOST填寫我公司郵件伺服器地址,MAIL PORT填寫25

選中Internet的Set,彈出新對話方塊,指定接收地址的地址區域,一般用*表示所有郵件都用SMTP來發送。其他資訊用預設。


(這裡SAPconnect的資訊可以有兩種方式顯示的,如果雙擊SMTP節點彈出的是JOB的資訊的話,選擇選單中SYSTEM STATUS,切換到為另一種顯示方式即可。)

c)Send job,選擇選單中的檢視View-->職務Jobs,可以檢查是否已經有Jobs被排程了

選擇Jobs->Create,並指定Job名稱,點執行按鈕 

選擇SAP&CONNECTALL變式,並選擇Schedule Job 

選擇 Schedule periodiacally定期計劃,指定時間間隔,比如10分鐘,選擇建立。 

到這裡,基本配置成功了。

可以在SBWP中,選擇傳送郵件,來測試配置是否成功,輸入收件人的郵件地址,點擊發送。如果配置成功的話,收一下郵件,應該收到了來自登陸SAP GUI的賬號中配置的郵件地址的郵件了。

PS:一開始只可以往公司郵箱發郵件,往外部郵箱傳送時顯示傳送成功但總是收不到。把scot----smtp節點裡的mail host改成公司郵件伺服器的IP即可收到(不知為啥)。外部郵箱收到sap傳送的郵件。但是,發往網易的郵件有收到,發往雅虎的郵件卻沒收到。

注:如果只是使用SAP傳送而不接收外部回覆回來的郵件,即相當於一個Mail Client的功能,只需要2、4兩步就可以了,也不需要更改系統引數。而且最重要的工作是Mail伺服器的設定,把SAP Application的IP放到白名單,不要密碼驗證。 轉載自:http://blog.csdn.net/jamesxsy/article/details/5997204