配置-如何用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可以設定等待郵件
新建引數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