G4 (mail1.3.11 OS 10.3.9) to G5 (mail 2.1, OS 10.4.9) mail transfer
Trying to transfer my mail messages from my old g4 to my new G5, When I follow the directions quoted here in the forums, no luck.
"database in ~/Library/Mail. Copying this directory along with the preferences file at ~/Library/Preferences/com.apple.Mail will transfer your mail."
Old system - G4 (mail1.3.11 OS 10.3.9)
New System - G5 (mail 2.1, OS 10.4.9)
All I get is my list of mailboxes with no messages in them, and my inbox is completely empty as well?
Any ideas? I couldn't use the migration assistant cause the hard drive in my old G4 wouldn't boot up in firewire mode since it was a replacement drive not hooked up to BUS 0...
mac Mac OS X (10.4.9) g4/pc
mac Mac OS X (10.4.9) g4/pc
mac Mac OS X (10.4.9) g4/pc
mac Mac OS X (10.4.9) g4/pc
Do you want to merge the mail currently stored on the G4 with what may already be stored on the G5, or do you want to replace what you have on the G5 with what you have on the G4?
If the former, you must do File > Import Mailboxes, as Allan has suggested.
If the latter, however, you should certainly be able to transfer your mail from a computer running Mac OS X 10.3 to another running Mac OS X 10.4 (but not the other way around) by copying ~/Library/Preferences/com.apple.mail.plist and the entire ~/Library/Mail folder. Mail should convert automatically the mailboxes to the new format in place, which may or may not work as expected, but that’s another story...
The thing is, what you’ve described would indicate that you’ve done something wrong, such as copying the contents of the old computer’s ~/Library/Mail/ folder to the new computer, which won’t work if you’ve already used Mail on the new computer and an Envelope Index is already present in ~/Library/Mail/. You must replace the entire ~/Library/Mail folder itself — unless you want to merge the contents of both ~/Library/Mail/ folders, in which case you must do File > Import Mailboxes instead.
In order to avoid potential permission issues, copy the files operating on the destination computer and while logged in as the user that’s going to use them. Also, be sure Mail isn’t running on either computer while doing that.
In order to avoid accidentally losing any data, instead of overwriting the ~/Library/Mail folder on the destination right away, move it to the Desktop before transferring the files, and delete it only after making sure that you don’t miss anything.
Similar Messages
-
Move mailboxes and public folders from exchange 2007 to Exchange 2013
1. How do i move mailboxes from exchange 2007 to exchange 2013. I have more than 1000 mailboxes.
What is the correct way to migrate. do i need to move a single mailbox. During migration do the mailboxes get corrupted
2. I want to move public folders from Exchange 2007 to Exchange 2013.
I ran powershell commands and got these results please do guide me how to move to exchange 2013.and what are the shell commands
Get-publicfolder
Name Parent Path
IPM_SUBTREE
Get-publicfolder | select AdminDisplayName,FolderPath
AdminDisplayName FolderPath
Get-PublicFolderStatistics | select AdminDisplayName,FolderPath
AdminDisplayName FolderPath
exchangeV1 schema-root\microsoft\exchangeV1
Internet Newsgroups Internet Newsgroups
Get-PublicFolder -Recurse | fl name,replicas > c:\publicfolder.txt
Name : IPM_SUBTREE
Replicas : {}
Name : Internet Newsgroups
Replicas : {MAIL\Public Folder Storage\Public Folder Database}I have started moving mailboxes , i have tried moving few individual mailboxes to see how things go
MAIL is my exchange 2007 and MAIL1 is my exchange 2013, please do refer the below result
PS] C:\Windows\system32>Get-MailboxDatabase -server mail
Name Server Recovery
ReplicationType
Mailbox Database MAIL False None
[PS] C:\Windows\system32>Get-MailboxDatabase -server mail1
Name Server Recovery
ReplicationType
Mailbox Database 1460777952 MAIL1 False None
[PS] C:\Windows\system32>New-MoveRequest -Identity '[email protected]' -TargetDatabase "Mailbox Database 1460777952"
DisplayName StatusDetail TotalMailboxSize
TotalArchiveSize PercentComplete
[email protected] Queued 363.6 MB (381,217,115 ...
0 -
Exchange 2003 giving occasional NDR's
We have an Exchange 2003 Server awaiting a migration to 2013.
Before we can migrate we need to find out the reason for some occasional mail, sending NDR's to a sender of email. The mail that generates an NDR, will 'leak through' to the recipients with no listed names in the To and no subject.
The funny thing is, in the Exchange tracking log, I can see the mail inbound, accepted and delivery started, but then you see the NDR being send out.
On the protocol logs on the Exchange server I am not seeing any issues.
On the protocol logs on the Edge Server again, I am not seeing any issues.
Not too sure where to go to next, or what to log next to find the issue.
Logs, email headers etc following.
Email header from mail that leaked through and NDR created.
Microsoft Mail Internet Headers Version 2.0
Received: from edge1.ReceiverDomain.com ([ReceiverDomainIP]) by mail.ReceiverDomain.com with Microsoft SMTPSVC(6.0.3790.1830);
Received: from edge1.ReceiverDomain.com ([ReceiverDomainIP]) by mail.ReceiverDomain.com with Microsoft SMTPSVC(6.0.3790.1830);
Tue, 1 Oct 2013 15:59:26 +0100
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
X-WatchGuard-AntiVirus: part scanned. clean action=allow
From: [email protected]
Bcc:
Return-Path: [email protected]
Message-ID: <[email protected]>
X-OriginalArrivalTime: 01 Oct 2013 14:59:26.0825 (UTC) FILETIME=[D2ADBD90:01CEBEB6]
Date: 1 Oct 2013 15:59:26 +0100
Email header from accepted email
Microsoft Mail Internet Headers Version 2.0
Received: from edge1.ReceiverDomain.com ([ReceiverDomainIP]) by mail.ReceiverDomain.com with Microsoft SMTPSVC(6.0.3790.1830);
Tue, 1 Oct 2013 16:01:04 +0100
Received: from SENDERINTMAIL.prod.ds.SenderDomain.com (SenderDomainIP) by
edge1.ReceiverDomain.com (ReceiverDomainIP) with Microsoft SMTP Server (TLS) id
8.1.436.0; Tue, 1 Oct 2013 16:00:58 +0100
Received: from SENDERINT2.prod.ds.SenderDomain.com ([169.254.1.152]) by
SENDERINTMAIL.prod.ds.SenderDomain.com ([169.254.2.131]) with mapi id
14.02.0298.004; Tue, 1 Oct 2013 16:01:00 +0100
From: "Sender, of Email" <[email protected]>
To: "Sender, of Email" <[email protected]>, Receiver1
<[email protected]>, "Receiver2" <[email protected]>
CC: SenderDomainFactsheets <[email protected]>, Receiver3
<[email protected]>, Receiver4<[email protected]>
Subject: RE: Subject line
Thread-Topic: Subject line
Thread-Index: Ac6+lzKxFtHC6ZksQlSoTTK2f8AezQAD2bEQAAFJwVAAARDjsAABYWnAAABGLHAAABXhwA==
Date: Tue, 1 Oct 2013 15:00:59 +0000
Message-ID: <[email protected]rDomain.com>
References: <[email protected]al>
<[email protected]rDomain.com>
<[email protected]al>
<[email protected]rDomain.com>
<[email protected]al>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [SenderIntIP2]
Content-Type: multipart/alternative;
boundary="_000_4C2FB0C9647B0140A70CEEA1B0F99FCA091F15B1LONEXH002PAprod_"
MIME-Version: 1.0
Return-Path: [email protected]
Received-SPF: Pass (edge1.ReceiverDomain.com: domain of [email protected]
designates SenderDomainIP as permitted sender)
receiver=edge1.ReceiverDomain.com; client-ip=SenderDomainIP;
helo=SENDERINTMAIL.prod.ds.SenderDomain.com;
X-WatchGuard-Spam-ID: str=0001.0A0B0204.524AE3AE.00B3,ss=1,re=0.000,fgs=0
X-WatchGuard-Spam-Score: 0, clean; 0, no virus
X-WatchGuard-Mail-Client-IP: 169.254.1.152
X-WatchGuard-Mail-From: [email protected]
X-WatchGuard-Mail-Recipients: [email protected];[email protected];[email protected];[email protected]
X-OriginalArrivalTime: 01 Oct 2013 15:01:04.0215 (UTC) FILETIME=[0CBA4670:01CEBEB7]
--_000_4C2FB0C9647B0140A70CEEA1B0F99FCA091F15B1LONEXH002PAprod_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
X-WatchGuard-AntiVirus: part scanned. clean action=allow
--_000_4C2FB0C9647B0140A70CEEA1B0F99FCA091F15B1LONEXH002PAprod_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
X-WatchGuard-AntiVirus: part scanned. clean action=allow
--_000_4C2FB0C9647B0140A70CEEA1B0F99FCA091F15B1LONEXH002PAprod_--
Exchange 2003 Tracking log
Logs from Edge Server for the emails, both the received email that generated the NDR and the email that was resent and received in full
Timestamp : 01/10/2013 15:46:49
ClientIp : SenderDomainIP
ClientHostname :
ServerIp : ReceiverDomainIP
ServerHostname : edge1
SourceContext : 08D0891A81DE4619;2013-10-01T14:46:48.159Z;0
ConnectorId : edge1\Default internal receive connector EDGE1
Source : SMTP
EventId : RECEIVE
InternalMessageId : 1348948
MessageId : <[email protected]nderDomain.com>
Recipients : {[email protected], [email protected], [email protected], [email protected]}
RecipientStatus : {}
TotalBytes : 48832
RecipientCount : 4
RelatedRecipientAddress :
Reference :
MessageSubject : RE: Subject line
Sender : [email protected]
ReturnPath : [email protected]
MessageInfo : 00A:
Timestamp : 01/10/2013 15:46:49
ClientIp : ReceiverDomainIP
ClientHostname : edge1
ServerIp : 10.0.0.164
ServerHostname :
SourceContext : 08D0891A81DE461A
ConnectorId : sendToExchange2003
Source : SMTP
EventId : SEND
InternalMessageId : 1348948
MessageId : <[email protected]SenderDomain.com>
Recipients : {[email protected], [email protected], [email protected], [email protected]}
RecipientStatus : {250 2.1.5 [email protected] , 250 2.1.5 [email protected] , 250 2.1.5 [email protected] , 250 2.1.5 [email protected] }
TotalBytes : 48832
RecipientCount : 4
RelatedRecipientAddress :
Reference : {, , , }
MessageSubject : RE: Subject line
Sender : [email protected]
ReturnPath : [email protected]
MessageInfo : 01/10/2013 15:46:48
Timestamp : 01/10/2013 15:59:23
ClientIp : SenderDomainIP
ClientHostname :
ServerIp : ReceiverDomainIP
ServerHostname : edge1
SourceContext : 08D0891A81DE4680;2013-10-01T14:59:21.660Z;0
ConnectorId : edge1\Default internal receive connector EDGE1
Source : SMTP
EventId : RECEIVE
InternalMessageId : 1348977
MessageId : <4C2FB0C9647B0140A70CEEA1B0F99FCA091F1592@LON-EXH002P
A.prod.ds.SenderDomain.com>
Recipients : {[email protected], [email protected], [email protected], [email protected]}
RecipientStatus : {}
TotalBytes : 61503
RecipientCount : 4
RelatedRecipientAddress :
Reference :
MessageSubject : RE: Subject line
Sender : [email protected]
ReturnPath : [email protected]
MessageInfo : 00A:
Timestamp : 01/10/2013 15:59:23
ClientIp : ReceiverDomainIP
ClientHostname : edge1
ServerIp : 10.0.0.164
ServerHostname :
SourceContext : 08D0891A81DE4681
ConnectorId : sendToExchange2003
Source : SMTP
EventId : FAIL
InternalMessageId : 1348977
MessageId : <4C2FB0C9647B0140A70CEEA1B0F99FCA091F1592@LON-EXH002P
A.prod.ds.SenderDomain.com>
Recipients : {[email protected], [email protected], [email protected], [email protected]}
RecipientStatus : {503 5.5.2 Need mail command., 503 5.5.2 Need mail command., 503 5.5.2 Need mail command., 503 5.5.2 Need mail command.}
TotalBytes : 61503
RecipientCount : 4
RelatedRecipientAddress :
Reference : {<cdba64fe-f673-439a-afda-136c285acdf4>, <cdba64fe-f6 73-439a-afda-136c285acdf4>, <cdba64fe-f673-439a-afda- 136c285acdf4>, <cdba64fe-f673-439a-afda-136c285acdf4>}
MessageSubject : RE: Subject line
Sender : [email protected]
ReturnPath : [email protected]
MessageInfo :
Timestamp : 01/10/2013 16:00:59
ClientIp : SenderDomainIP
ClientHostname :
ServerIp : ReceiverDomainIP
ServerHostname : edge1
SourceContext : 08D0891A81DE4695;2013-10-01T15:00:57.647Z;0
ConnectorId : edge1\Default internal receive connector EDGE1
Source : SMTP
EventId : RECEIVE
InternalMessageId : 1348985
MessageId : <[email protected]enderDomain.com>
Recipients : {[email protected], [email protected], [email protected], [email protected]}
RecipientStatus : {}
TotalBytes : 62815
RecipientCount : 4
RelatedRecipientAddress :
Reference :
MessageSubject : RE: Subject line
Sender : [email protected]
ReturnPath : [email protected]
MessageInfo : 00A:
Timestamp : 01/10/2013 16:01:01
ClientIp : ReceiverDomainIP
ClientHostname : edge1
ServerIp : 10.0.0.164
ServerHostname :
SourceContext : 08D0891A81DE4697
ConnectorId : sendToExchange2003
Source : SMTP
EventId : SEND
InternalMessageId : 1348985
MessageId : <[email protected]enderDomain.com>
Recipients : {[email protected], [email protected], eg
[email protected], SenderDomainFactsheets@FundAss
ist.com}
RecipientStatus : {250 2.1.5 [email protected] , 250 2.1.5 [email protected] , 250 2.1.5 receiver1@receiverdomain, 250 2.1.5 [email protected] }
TotalBytes : 62815
RecipientCount : 4
RelatedRecipientAddress :
Reference : {, , , }
MessageSubject : RE: Subject line
Sender : [email protected]
ReturnPath : [email protected]
MessageInfo : 01/10/2013 16:00:58
JoeEdge server 2007 to Exchange 2003
2013-11-27T10:00:53.932Z,sendToExchange2003,08D0AFC938C280EE,14,10.11.0.164:56317,10.0.0.164:25,>,MAIL FROM:<[email protected]> SIZE=62314 AUTH=<>,
2013-11-27T10:00:53.948Z,sendToExchange2003,08D0AFC938C280EE,15,10.11.0.164:56317,10.0.0.164:25,<,250 2.1.0 [email protected]...Sender OK,
2013-11-27T10:00:53.948Z,sendToExchange2003,08D0AFC938C280EE,16,10.11.0.164:56317,10.0.0.164:25,>,RCPT TO:<[email protected]>,
2013-11-27T10:00:53.948Z,sendToExchange2003,08D0AFC938C280EE,17,10.11.0.164:56317,10.0.0.164:25,<,250 2.1.5 [email protected] ,
2013-11-27T10:00:53.948Z,sendToExchange2003,08D0AFC938C280EE,18,10.11.0.164:56317,10.0.0.164:25,>,BDAT 61973 LAST,
2013-11-27T10:00:54.197Z,sendToExchange2003,08D0AFC938C280EE,19,10.11.0.164:56317,10.0.0.164:25,<,503 5.5.2 Need mail command.,
2013-11-27T10:00:54.213Z,sendToExchange2003,08D0AFC938C280EE,20,10.11.0.164:56317,10.0.0.164:25,>,QUIT,
2013-11-27T10:00:54.213Z,sendToExchange2003,08D0AFC938C280EE,21,10.11.0.164:56317,10.0.0.164:25,<,221 2.0.0 mail.Receiver.com Service closing transmission channel,
Exchange 2003 Protocol log
2013-11-27 10:01:03 10.11.0.164 edge1.Receiver.com SMTPSVC1 MAIL1 10.0.0.164 0 EHLO +edge1.Receiver.com 250 0 SMTP
2013-11-27 10:01:03 10.11.0.164 edge1.Receiver.com SMTPSVC1 MAIL1 10.0.0.164 0 MAIL +FROM:<[email protected]> 250 0 SMTP
2013-11-27 10:01:03 10.11.0.164 edge1.Receiver.com SMTPSVC1 MAIL1 10.0.0.164 0 RCPT +TO:<[email protected]> 250 0 SMTP
2013-11-27 10:01:03 10.11.0.164 edge1.Receiver.com SMTPSVC1 MAIL1 10.0.0.164 0 BDAT <[email protected]> 250 62 SMTP
2013-11-27 10:01:03 10.11.0.164 edge1.Receiver.com SMTPSVC1 MAIL1 10.0.0.164 0 BDAT +22244 503 0 SMTP
2013-11-27 10:01:03 10.11.0.164 edge1.Receiver.com SMTPSVC1 MAIL1 10.0.0.164 0 QUIT edge1.Receiver.com 240 0 SMTP
Joe -
Error:domain database does not exist
Hi we are running Iplanet mssaging Server 5.2 p1 running in dirsync mode and iplanet directory server 5.1.We have configured th ldap settings of some of the users using the maildeliveryoption to mailbox and forward & we have set the mailforwarding attribute to forward the mail to a set of users.Now yesterday our smtp server panic & service stopped working.After removing the lock files in ../imta/tmp/ directory the service started working.But now for all the users for whom this forwarding of mails has been sent are getting there mails bounced.for other users for whom this option is not there the mail is getting delivered.The error recived is Illegal host / domain name.
I ran imsimta test -rewrite -debug for a user whose mail is getting bounced and i get the following output.here attaching some of the lines Can anyone please guide me as to what the problem is?(nslookup is working).
Does the imsimta cleandb might have corrupted the entries?
Regards and thanks in advance
Script started on Tue Nov 30 16:45:02 2004
# imsimta test -rewrite -debug
Initializing mm_.
Initializing mm_ submission.
Checking identifiers.
Address: [email protected]
*** Debug output from initializing MM for submission:
16:45:17.33: mmc_winit('l','[email protected]','[email protected]') called.
16:45:17.33: Queue area size 9236824, temp area size 3202696
16:45:17.33: 2309206 blocks of effective free queue space available; setting disk limit accordingly.
16:45:17.33: 1601348 blocks of free temporary space available; setting disk limit accordingly.
16:45:17.33: Rewriting: Mbox = "postmaster", host = "mail1.hathway.com", domain = "$*", literal = "", tag = ""
16:45:17.33: Rewrite: "$*", position 0, hash table -
16:45:17.33: Failed.
16:45:17.33: Rewrite: "$*", position 0, rewrite database -
16:45:17.33: (domain database does not exist)
16:45:17.33: Failed
16:45:17.33: Rewriting: Mbox = "postmaster", host = "mail1", domain = "mail1.hathway.com", literal = "", tag = ""
16:45:17.33: Rewrite: "mail1.hathway.com", position 0, hash table -
16:45:17.33: Found: "$U%[email protected]"
16:45:17.33: New mailbox: "postmaster".
16:45:17.33: New host: "mail1.hathway.com".
16:45:17.33: New route: "mail1.hathway.com".
16:45:17.34: New channel system: "mail1.hathway.com".
16:45:17.34: Looking up host "mail1.hathway.com".
16:45:17.34: - found on channel l
16:45:17.34: Routelocal flag set; scanning for % and !
16:45:17.34: Rewriting: Mbox = "postmaster", host = "mail1.hathway.com", domain = "$*", literal = "", tag = ""
16:45:17.34: Rewrite: "$*", position 0, hash table -
16:45:17.34: Failed.
16:45:17.34: Rewrite: "$*", position 0, rewrite database -
16:45:17.34: (domain database does not exist)
16:45:17.34: Failed
16:45:17.34: Rewriting: Mbox = "postmaster", host = "mail1", domain = "mail1.hathway.com", literal = "", tag = ""
16:45:17.34: Rewrite: "mail1.hathway.com", position 0, hash table -
16:45:17.34: Found: "$U%[email protected]"
16:45:17.34: New mailbox: "postmaster".
16:45:17.34: New host: "mail1.hathway.com".
16:45:17.34: New route: "mail1.hathway.com".
16:45:17.34: New channel system: "mail1.hathway.com".
16:45:17.34: Looking up host "mail1.hathway.com".
16:45:17.34: - found on channel l
16:45:17.34: Routelocal flag set; scanning for % and !
16:45:17.34: Mapped return address: [email protected]
*** Debug output from rewriting a forward header address:
16:45:17.34: Rewriting: Mbox = "systeam", host = "hathway.net", domain = "$*", literal = "", tag = ""
16:45:17.35: Rewrite: "$*", position 0, hash table -
16:45:17.35: Failed.
16:45:17.35: Rewrite: "$*", position 0, rewrite database -
16:45:17.35: (domain database does not exist)
16:45:17.35: Failed
16:45:17.35: Rewriting: Mbox = "systeam", host = "hathway", domain = "hathway.net", literal = "", tag = ""
16:45:17.35: Rewrite: "hathway.net", position 0, hash table -
16:45:17.35: Found: "$U%[email protected]"
16:45:17.35: New mailbox: "systeam".
16:45:17.35: New host: "hathway.net".
16:45:17.35: New route: "mail1.hathway.com".
16:45:17.35: New channel system: "mail1.hathway.com".
16:45:17.35: Looking up host "mail1.hathway.com".
16:45:17.35: - found on channel l
16:45:17.35: Routelocal flag set; scanning for % and !
16:45:17.35: Rewrite rules result: [email protected]
16:45:17.35: Applying reverse database to: [email protected]
16:45:17.35: No match -- no such entry.
forward channel = l
channel description =
channel user filter =
dest channel filter =
source channel filter =
channel flags #0 = BIDIRECTIONAL MULTIPLE IMMNONURGENT NOSERVICEALL
channel flags #1 = NOSMTP DEFAULT
channel flags #2 = COPYSENDPOST COPYWARNPOST POSTHEADONLY HEADERINC NOEXPROUTE
channel flags #3 = LOGGING NOGREY NORESTRICTED RETAINSECURITMULTIPARTS
channel flags #4 = EIGHTBIT NOHEADERTRIM NOHEADERREAD RULES
channel flags #5 =
channel flags #6 = LOCALUSER REPORTHEADER
channel flags #7 = NOSWITCHCHANNEL NOREMOTEHOST DATEFOUR DAYOFWEEK
channel flags #8 = NODEFRAGMENT EXQUOTA REVERSE NOCONVERT_OCTET_STREAM
channel flags #9 = NOTHURMAN INTERPRETENCODING USEINTERMEDIATE RECEIVEDFROM VALIDATELOCALSYSTEM NOTURN
defaulthost = hathway.com hathway.com
linelength = 1023
channel env addr type = SOURCEROUTE
channel hdr addr type = SOURCEROUTE
channel official host = mail1.hathway.com
channel queue 0 name = LOCAL_POOL
channel queue 1 name = LOCAL_POOL
channel queue 2 name = LOCAL_POOL
channel queue 3 name = LOCAL_POOL
channel after params =
channel user name =
urgentnotices = 1 2 4 7
normalnotices = 1 2 4 7
nonurgentnotices = 1 2 4 7
channel rightslist ids =
local behavior flags = %x7
backward channel = l
header To: address = [email protected]
header From: address = [email protected]
envelope To: address = [email protected] (route (mail1.hathway.com,mail1.hathway.com)) (host hathway.net)
envelope From: address = [email protected]
name =
mbox = systeam
Extracted address action list:
[email protected]
Extracted 733 address action list:
[email protected]
Address list expansion:
systeam.hathway.net@ims-ms-daemon
nasser.hathway.net@ims-ms-daemon
sayed.hathway.net@ims-ms-daemon
sameerm.hathway.net@ims-ms-daemon
daji.hathway.net@ims-ms-daemon
umanga.hathway.net@ims-ms-daemon
6 expansion total.
*** Debug output from submitting an envelope address:
16:45:17.37: mmc_wadr(0x0005ef70,'[email protected]','[email protected]') called.
16:45:17.37: Copy estimate before address addition is 1
16:45:17.37: Parsing address [email protected]
16:45:17.37: Rewriting: Mbox = "systeam", host = "hathway.net", domain = "$*", literal = "", tag = ""
16:45:17.37: Rewrite: "$*", position 0, hash table -
16:45:17.37: Failed.
16:45:17.37: Rewrite: "$*", position 0, rewrite database -
16:45:17.37: (domain database does not exist)
16:45:17.37: Failed
16:45:17.37: Rewriting: Mbox = "systeam", host = "hathway", domain = "hathway.net", literal = "", tag = ""
16:45:17.37: Rewrite: "hathway.net", position 0, hash table -
16:45:17.37: Found: "$U%[email protected]"
16:45:17.37: New mailbox: "systeam".
16:45:17.37: New host: "hathway.net".
16:45:17.37: New route: "mail1.hathway.com".
16:45:17.37: New channel system: "mail1.hathway.com".Your first mistake. . .
Hi we are running Iplanet mssaging Server 5.2 p1 running in dirsync mode
please get off dirsync mode. There are bugs with dirsync that will never be fixed. 5.2p1 is well over a year old, and there're hundreds of fixed bugs there. 5.2p2 is available for free, on Sun's web site.
You still have some dirsync problems. -
Hi everyone,
I have did the transtion from Exchange 2007 to Exchange 2013.
My Exchange 2007 URLS were with mail.mydomain.com and hostname of the exchange 2007 server was mail.
I came up with Exchange 2013 with hostname mail1
mail : 192.168.1.10 (Exchange 2007)
mail1 : 192.168.1.15 (Exchange 2013)(all virtual directories i set to mail.mydomain.com)
After decommisioning Exchange 2007 i changed exchange 2013 server to the old ip of Exchange 2007
mail1 192.168.1.10
I created
A record mail pointing to 192.168.1.10(mail.mydomain.com)? is it right
Now i have two records mail and mail1 pointing to same ip 192.168.1.10
Autodiscover record pointing to 192.168.1.10(autodiscover.mydomain.com)? is it right
should my MX record be pointing to mail or mail1
Should i create an SRV recoard?
Please do guide me ,i am able to open Exchang admin center and owa web pages but i am not able to login.
For outlook or active sync, what should be the incoming and outgoing mail server(mail.mydomain.com or mail1.mydomain.com)
I want to use mail as used earlier with exchange 2007The mail part of mail.mydomain.com for purposes of finding your mail server is not referring to the name of the server as in server1.mydomain.com so the name of your server is not important.
But your certificate should match whatever that is. So for example my mailserver uses webmail.mydomain.org on the certificate so this is what the internal and external DNS records are pointed to even though the server has a name completely
unrelated to that. Also, my internal domain is mydomain.local so I created a separate DNS zone internally for webmail.mydomain.org and put the A record (with the internal IP) for my exchange server in there.
So from internally when you look for webmail.mydomain.org you find the internal IP address of the exchange server and when externally looking for the same thing, webmail.mydomain.org you find the external IP address of the exchange server.
Since you have put the new server at the old server IP you should not have to change DNS records externally and if you have DNS configured internally you should not have to change those either.
You do not need srv or mx records internally. An mx record would be an external record to help people find your mail server on the internet but as I said, since you put the new server at the same IP, presumably you already have external
DNS and firewall settings to allow access.
What you need to do is set the virtual directory addresses and the Service Connection Point for the new server.
First verify your DNS by pinging mail.mydomain.com both internally and externally.
Internally it should resolve to 192.168.1.10. Externally it should resolve to whatever public IP provides external access through your firewall to the server sitting at that internal IP.
Set the SCP for the new server using EMS (this assumes that your internal ping results above worked correctly):
Set-ClientAccessServer -Identity mail1 -AutoDiscoverServiceInternalURI https://mail.yourdomain.com/autodiscover/autodiscover.xml
You said you already did this part below but you can verify or do it again.
Configure virtual directories for mail1.
Go to ECP and navigate to Servers >> Virtual Directories
Select mail1 then click the wrench
Add mail1 at the top and then enter mail.yourdomain.com
Back in the Servers >> Virtual Directories section of ECP click on the virtual directories one at a time and then click the edit pencil and copy and paste to make the internal URL match the external one.
Do this for OWA, ECP, ActiveSync, EWS and OAB. Skip autodiscover and powershell!
Once all of this is done your OWA would be accessed at
https://mail.mydomain.com/owa and your ecp would be accessed at
https://mail.mydomain.com/ecp from both inside and outside your organization. -
i have just got iphone 3gs and cant setup my email.....
My email address is @eircom.net and my iphone is on the vodafone network
I have gone into Mail, other - then filled in Name (full name), Address (my [email protected]) Password & the description auto fills as Eircom.
I click on next and message "the SMTP server mail1.eircom.net doesnt support password authentication please check your account settings and try again"
Incoming mail server is auto filled to;
Host name - webmail.eircom.net
User name - my [email protected]
Password -
Outgoing mail server is auto filled to;
Host name - mail1.eircom.net
User name - my [email protected]
Password -
Please help this is driving me mad.........??honestly, i really dont know. I would think it supports it as in other people can access eircom email on mobiles....
when i start to setup on iphone it automatically sets up as POP but i have also tried as IMAP and this also does not work.
the settings for incoming mail server automatically fills in when i click save on the first step.
very sorry, i really dont understand any of this ....... -
IMAP java mail -- Can't disable plain login
Hi,
I am trying to solve Authentication issue with IMAP and java mail1.4.1 connecting to Microsoft Exchange Server 2007 and couldn't disable AUTH: PLAIN.Also need to know how to enable NTLM.
I set the property as follows with "xxxxxxxx...." shown below with right values:
props.setProperty("mail.store.protocol","imaps");
props.setProperty("mail.imap.auth.plain.disable","true"); -- "true" within quotes
props.setProperty("mail.imap.host","xxxxxxxxxxx");
props.setProperty("mail.imap.port","993");
props.setProperty("mail.imap.user","xxxxxxx");
props.setProperty("mail.imap.pwd","xxxxxx");
props.setProperty("mail.imap.debug","true");
props.setProperty("mail.imap.ssl.protocols","SSL");
props.setProperty("mail.imap.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.setProperty("mail.imap.socketFactory.fallback", "false");
props.setProperty("mail.imap.socketFactory.port", "993");
Still i couldn't get AUTH:PLAIN disabled and trying to get AUTH:NTLM enabled.
DEBUG: setDebug: JavaMail version 1.4.1
DEBUG: getProvider() returning javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc]
DEBUG: mail.imap.fetchsize: 16384
* OK Microsoft Exchange Server 2007 IMAP4 service ready
A0 CAPABILITY
* CAPABILITY IMAP4 IMAP4rev1 AUTH=NTLM AUTH=GSSAPI AUTH=PLAIN IDLE NAMESPACE LITERAL+
A0 OK CAPABILITY completed.
IMAP DEBUG: AUTH: NTLM
IMAP DEBUG: AUTH: GSSAPI
IMAP DEBUG: AUTH: PLAIN
DEBUG: protocolConnect login, host=xxxxxxxxxxx, user=xxxxxxx, password=<non-null>
A1 AUTHENTICATE PLAIN
+
NzM0NjE1NTk5NAA3MzQ2MTU1OTk0AE5ld3Bhc3N3MHJk
A1 NO AUTHENTICATE failed.
caught exception: javax.mail.AuthenticationFailedException: AUTHENTICATE failed.
javax.mail.AuthenticationFailedException: AUTHENTICATE failed.
at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:566)
at javax.mail.Service.connect(Service.java:288)
at javax.mail.Service.connect(Service.java:169)
at edu.umich.mais.mail.testssl.main(testssl.java:59)
Please help!!! thanks in advance.Hi,
NTLM is not supported by Java Mail , i am wondering how my previous Java mail 1.3.3 program worked with other mail server (not microsoft exchange server) and produced the following result which seemed to use AUTH=NTLM:
* OK IMAP4rev1 UMSG-WEB03.UMSG.xxxxx.umich.edu CTI2 interceptor 3.500016100 Service Ready
A0 CAPABILITY
* CAPABILITY IMAP4 IMAP4rev1 IDLE LOGIN-REFERRALS MAILBOX-REFERRALS NAMESPACE LITERAL+ UIDPLUS CHILDREN AUTH=NTLM
A0 OK CAPABILITY completed.
IMAP DEBUG: AUTH: NTLM
A1 LOGIN xxxxx xxxxxxx
A1 OK LOGIN completed.
A2 LIST "" INBOX
* LIST (\Marked \HasNoChildren) "/" INBOX
A2 OK LIST completed.
DEBUG: connection available -- size: 1
A3 EXAMINE INBOX
The IMAP4 capability of exchange server 2007 supporting AUTH mechanisms are as follows --
A0 CAPABILITY
* CAPABILITY IMAP4 IMAP4rev1 AUTH=NTLM AUTH=GSSAPI AUTH=PLAIN IDLE NAMESPACE LITERAL+
A0 OK CAPABILITY completed.
IMAP DEBUG: AUTH: NTLM
IMAP DEBUG: AUTH: GSSAPI
IMAP DEBUG: AUTH: PLAIN
If NTLM doesn't work with java mail , any other suggestions to make it work ??
Thanks -
Need to have mail1 play nice with upstream mail server....
Switched to new mail server and hitting a problem. We have a debian linux box doing SPAM filtering further upstream from the mail server and then sending down to the new leopard mail1 box.
On the debian box we're seeing:
2009-04-03 09:14:08 H=216-174-222-148.atgi.net (email.wdcsc.org) [216.174.222.148] F=<[email protected]> temporarily rejected RCPT <[email protected]>: remote host address is the local host
2009-04-03 09:14:08 1Lpfar-0004fh-Ku ** [email protected] R=dnslookup T=remote_smtp: SMTP error from remote mail server after RCPT TO:<[email protected]>: host nescosrv.nesco.ee [194.204.28.195]: 550 5.1.1 <[email protected]>: Recipient address rejected: User unknown in local recipient table
And mail isn't piping thru to the mail1 box. Here's the main.cf
sh-3.2# cat main.cf
# Global Postfix configuration file. This file lists only a subset
# of all parameters. For the syntax, and for a complete parameter
# list, see the postconf(5) manual page (command: "man 5 postconf").
# For common configuration examples, see BASIC_CONFIGURATION_README
# and STANDARD_CONFIGURATION_README. To find these documents, use
# the command "postconf html_directory readme_directory", or go to
# http://www.postfix.org/.
# For best results, change no more than 2-3 parameters at a time,
# and test if Postfix still works after every change.
# SOFT BOUNCE
# The soft_bounce parameter provides a limited safety net for
# testing. When soft_bounce is enabled, mail will remain queued that
# would otherwise bounce. This parameter disables locally-generated
# bounces, and prevents the SMTP server from rejecting mail permanently
# (by changing 5xx replies into 4xx replies). However, soft_bounce
# is no cure for address rewriting mistakes or mail routing mistakes.
#soft_bounce = no
# LOCAL PATHNAME INFORMATION
# The queue_directory specifies the location of the Postfix queue.
# This is also the root directory of Postfix daemons that run chrooted.
# See the files in examples/chroot-setup for setting up Postfix chroot
# environments on different UNIX systems.
queue_directory = /private/var/spool/postfix
# The command_directory parameter specifies the location of all
# postXXX commands.
command_directory = /usr/sbin
# The daemon_directory parameter specifies the location of all Postfix
# daemon programs (i.e. programs listed in the master.cf file). This
# directory must be owned by root.
daemon_directory = /usr/libexec/postfix
# QUEUE AND PROCESS OWNERSHIP
# The mail_owner parameter specifies the owner of the Postfix queue
# and of most Postfix daemon processes. Specify the name of a user
# account THAT DOES NOT SHARE ITS USER OR GROUP ID WITH OTHER ACCOUNTS
# AND THAT OWNS NO OTHER FILES OR PROCESSES ON THE SYSTEM. In
# particular, don't specify nobody or daemon. PLEASE USE A DEDICATED
# USER.
mail_owner = _postfix
# The default_privs parameter specifies the default rights used by
# the local delivery agent for delivery to external file or command.
# These rights are used in the absence of a recipient user context.
# DO NOT SPECIFY A PRIVILEGED USER OR THE POSTFIX OWNER.
#default_privs = nobody
# INTERNET HOST AND DOMAIN NAMES
# The myhostname parameter specifies the internet hostname of this
# mail system. The default is to use the fully-qualified domain name
# from gethostname(). $myhostname is used as a default value for many
# other configuration parameters.
#myhostname = host.domain.tld
#myhostname = virtual.domain.tld
# The mydomain parameter specifies the local internet domain name.
# The default is to use $myhostname minus the first component.
# $mydomain is used as a default value for many other configuration
# parameters.
#mydomain = domain.tld
# SENDING MAIL
# The myorigin parameter specifies the domain that locally-posted
# mail appears to come from. The default is to append $myhostname,
# which is fine for small sites. If you run a domain with multiple
# machines, you should (1) change this to $mydomain and (2) set up
# a domain-wide alias database that aliases each user to
# [email protected].
# For the sake of consistency between sender and recipient addresses,
# myorigin also specifies the default domain name that is appended
# to recipient addresses that have no @domain part.
#myorigin = $myhostname
#myorigin = $mydomain
# RECEIVING MAIL
# The inet_interfaces parameter specifies the network interface
# addresses that this mail system receives mail on. By default,
# the software claims all active interfaces on the machine. The
# parameter also controls delivery of mail to user@[ip.address].
# See also the proxy_interfaces parameter, for network addresses that
# are forwarded to us via a proxy or network address translator.
# Note: you need to stop/start Postfix when this parameter changes.
#inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
# The proxy_interfaces parameter specifies the network interface
# addresses that this mail system receives mail on by way of a
# proxy or network address translation unit. This setting extends
# the address list specified with the inet_interfaces parameter.
# You must specify your proxy/NAT addresses when your system is a
# backup MX host for other domains, otherwise mail delivery loops
# will happen when the primary MX host is down.
#proxy_interfaces =
#proxy_interfaces = 1.2.3.4
# The mydestination parameter specifies the list of domains that this
# machine considers itself the final destination for.
# These domains are routed to the delivery agent specified with the
# local_transport parameter setting. By default, that is the UNIX
# compatible delivery agent that lookups all recipients in /etc/passwd
# and /etc/aliases or their equivalent.
# The default is $myhostname + localhost.$mydomain. On a mail domain
# gateway, you should also include $mydomain.
# Do not specify the names of virtual domains - those domains are
# specified elsewhere (see VIRTUAL_README).
# Do not specify the names of domains that this machine is backup MX
# host for. Specify those names via the relay_domains settings for
# the SMTP server, or use permit_mx_backup if you are lazy (see
# STANDARD_CONFIGURATION_README).
# The local machine is always the final destination for mail addressed
# to user@[the.net.work.address] of an interface that the mail system
# receives mail on (see the inet_interfaces parameter).
# Specify a list of host or domain names, /file/name or type:table
# patterns, separated by commas and/or whitespace. A /file/name
# pattern is replaced by its contents; a type:table is matched when
# a name matches a lookup key (the right-hand side is ignored).
# Continue long lines by starting the next line with whitespace.
# See also below, section "REJECTING MAIL FOR UNKNOWN LOCAL USERS".
#mydestination = $myhostname, localhost.$mydomain, localhost
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mydestination = $myhostname,localhost.$mydomain,localhost,mail1.stanwood.wednet.edu,stanwood.we dnet.edu
# mail.$mydomain, www.$mydomain, ftp.$mydomain
# REJECTING MAIL FOR UNKNOWN LOCAL USERS
# The local_recipient_maps parameter specifies optional lookup tables
# with all names or addresses of users that are local with respect
# to $mydestination, $inet_interfaces or $proxy_interfaces.
# If this parameter is defined, then the SMTP server will reject
# mail for unknown local users. This parameter is defined by default.
# To turn off local recipient checking in the SMTP server, specify
# local_recipient_maps = (i.e. empty).
# The default setting assumes that you use the default Postfix local
# delivery agent for local delivery. You need to update the
# local_recipient_maps setting if:
# - You define $mydestination domain recipients in files other than
# /etc/passwd, /etc/aliases, or the $virtual_alias_maps files.
# For example, you define $mydestination domain recipients in
# the $virtual_mailbox_maps files.
# - You redefine the local delivery agent in master.cf.
# - You redefine the "local_transport" setting in main.cf.
# - You use the "luser_relay", "mailbox_transport", or "fallback_transport"
# feature of the Postfix local delivery agent (see local(8)).
# Details are described in the LOCAL_RECIPIENT_README file.
# Beware: if the Postfix SMTP server runs chrooted, you probably have
# to access the passwd file via the proxymap service, in order to
# overcome chroot restrictions. The alternative, having a copy of
# the system passwd file in the chroot jail is just not practical.
# The right-hand side of the lookup tables is conveniently ignored.
# In the left-hand side, specify a bare username, an @domain.tld
# wild-card, or specify a [email protected] address.
#local_recipient_maps = unix:passwd.byname $alias_maps
local_recipient_maps = proxy:unix:passwd.byname $alias_maps
#local_recipient_maps =
# The unknown_local_recipient_reject_code specifies the SMTP server
# response code when a recipient domain matches $mydestination or
# ${proxy,inet}_interfaces, while $local_recipient_maps is non-empty
# and the recipient address or address local-part is not found.
# The default setting is 550 (reject mail) but it is safer to start
# with 450 (try again later) until you are certain that your
# local_recipient_maps settings are OK.
unknown_local_recipient_reject_code = 550
# TRUST AND RELAY CONTROL
# The mynetworks parameter specifies the list of "trusted" SMTP
# clients that have more privileges than "strangers".
# In particular, "trusted" SMTP clients are allowed to relay mail
# through Postfix. See the smtpd_recipient_restrictions parameter
# in postconf(5).
# You can specify the list of "trusted" network addresses by hand
# or you can let Postfix do it for you (which is the default).
# By default (mynetworks_style = subnet), Postfix "trusts" SMTP
# clients in the same IP subnetworks as the local machine.
# On Linux, this does works correctly only with interfaces specified
# with the "ifconfig" command.
# Specify "mynetworks_style = class" when Postfix should "trust" SMTP
# clients in the same IP class A/B/C networks as the local machine.
# Don't do this with a dialup site - it would cause Postfix to "trust"
# your entire provider's network. Instead, specify an explicit
# mynetworks list by hand, as described below.
# Specify "mynetworks_style = host" when Postfix should "trust"
# only the local machine.
#mynetworks_style = class
#mynetworks_style = subnet
#mynetworks_style = host
# Alternatively, you can specify the mynetworks list by hand, in
# which case Postfix ignores the mynetworks_style setting.
# Specify an explicit list of network/netmask patterns, where the
# mask specifies the number of bits in the network part of a host
# address.
# You can also specify the absolute pathname of a pattern file instead
# of listing the patterns here. Specify type:table for table-based lookups
# (the value on the table right-hand side is not used).
#mynetworks = 168.100.189.0/28, 127.0.0.0/8
#mynetworks = $config_directory/mynetworks
#mynetworks = hash:/etc/postfix/network_table
# The relay_domains parameter restricts what destinations this system will
# relay mail to. See the smtpd_recipient_restrictions description in
# postconf(5) for detailed information.
# By default, Postfix relays mail
# - from "trusted" clients (IP address matches $mynetworks) to any destination,
# - from "untrusted" clients to destinations that match $relay_domains or
# subdomains thereof, except addresses with sender-specified routing.
# The default relay_domains value is $mydestination.
# In addition to the above, the Postfix SMTP server by default accepts mail
# that Postfix is final destination for:
# - destinations that match $inet_interfaces or $proxy_interfaces,
# - destinations that match $mydestination
# - destinations that match $virtual_alias_domains,
# - destinations that match $virtual_mailbox_domains.
# These destinations do not need to be listed in $relay_domains.
# Specify a list of hosts or domains, /file/name patterns or type:name
# lookup tables, separated by commas and/or whitespace. Continue
# long lines by starting the next line with whitespace. A file name
# is replaced by its contents; a type:name table is matched when a
# (parent) domain appears as lookup key.
# NOTE: Postfix will not automatically forward mail for domains that
# list this system as their primary or backup MX host. See the
# permit_mx_backup restriction description in postconf(5).
#relay_domains = $mydestination
# INTERNET OR INTRANET
# The relayhost parameter specifies the default host to send mail to
# when no entry is matched in the optional transport(5) table. When
# no relayhost is given, mail is routed directly to the destination.
# On an intranet, specify the organizational domain name. If your
# internal DNS uses no MX records, specify the name of the intranet
# gateway host instead.
# In the case of SMTP, specify a domain, host, host:port, [host]:port,
# [address] or [address]:port; the form [host] turns off MX lookups.
# If you're connected via UUCP, see also the default_transport parameter.
#relayhost = $mydomain
#relayhost = [gateway.my.domain]
#relayhost = [mailserver.isp.tld]
#relayhost = uucphost
#relayhost = [an.ip.add.ress]
# REJECTING UNKNOWN RELAY USERS
# The relay_recipient_maps parameter specifies optional lookup tables
# with all addresses in the domains that match $relay_domains.
# If this parameter is defined, then the SMTP server will reject
# mail for unknown relay users. This feature is off by default.
# The right-hand side of the lookup tables is conveniently ignored.
# In the left-hand side, specify an @domain.tld wild-card, or specify
# a [email protected] address.
#relay_recipient_maps = hash:/etc/postfix/relay_recipients
# INPUT RATE CONTROL
# The in_flow_delay configuration parameter implements mail input
# flow control. This feature is turned on by default, although it
# still needs further development (it's disabled on SCO UNIX due
# to an SCO bug).
# A Postfix process will pause for $in_flow_delay seconds before
# accepting a new message, when the message arrival rate exceeds the
# message delivery rate. With the default 100 SMTP server process
# limit, this limits the mail inflow to 100 messages a second more
# than the number of messages delivered per second.
# Specify 0 to disable the feature. Valid delays are 0..10.
#in_flow_delay = 1s
# ADDRESS REWRITING
# The ADDRESS_REWRITING_README document gives information about
# address masquerading or other forms of address rewriting including
# username->Firstname.Lastname mapping.
# ADDRESS REDIRECTION (VIRTUAL DOMAIN)
# The VIRTUAL_README document gives information about the many forms
# of domain hosting that Postfix supports.
# "USER HAS MOVED" BOUNCE MESSAGES
# See the discussion in the ADDRESS_REWRITING_README document.
# TRANSPORT MAP
# See the discussion in the ADDRESS_REWRITING_README document.
# ALIAS DATABASE
# The alias_maps parameter specifies the list of alias databases used
# by the local delivery agent. The default list is system dependent.
# On systems with NIS, the default is to search the local alias
# database, then the NIS alias database. See aliases(5) for syntax
# details.
# If you change the alias database, run "postalias /etc/aliases" (or
# wherever your system stores the mail alias file), or simply run
# "newaliases" to build the necessary DBM or DB file.
# It will take a minute or so before changes become visible. Use
# "postfix reload" to eliminate the delay.
#alias_maps = dbm:/etc/aliases
#alias_maps = hash:/etc/aliases
#alias_maps = hash:/etc/aliases, nis:mail.aliases
#alias_maps = netinfo:/aliases
# The alias_database parameter specifies the alias database(s) that
# are built with "newaliases" or "sendmail -bi". This is a separate
# configuration parameter, because alias_maps (see above) may specify
# tables that are not necessarily all under control by Postfix.
#alias_database = dbm:/etc/aliases
#alias_database = dbm:/etc/mail/aliases
#alias_database = hash:/etc/aliases
#alias_database = hash:/etc/aliases, hash:/opt/majordomo/aliases
# ADDRESS EXTENSIONS (e.g., user+foo)
# The recipient_delimiter parameter specifies the separator between
# user names and address extensions (user+foo). See canonical(5),
# local(8), relocated(5) and virtual(5) for the effects this has on
# aliases, canonical, virtual, relocated and .forward file lookups.
# Basically, the software tries user+foo and .forward+foo before
# trying user and .forward.
#recipient_delimiter = +
# DELIVERY TO MAILBOX
# The home_mailbox parameter specifies the optional pathname of a
# mailbox file relative to a user's home directory. The default
# mailbox file is /var/spool/mail/user or /var/mail/user. Specify
# "Maildir/" for qmail-style delivery (the / is required).
#home_mailbox = Mailbox
#home_mailbox = Maildir/
# The mail_spool_directory parameter specifies the directory where
# UNIX-style mailboxes are kept. The default setting depends on the
# system type.
#mail_spool_directory = /var/mail
#mail_spool_directory = /var/spool/mail
# The mailbox_command parameter specifies the optional external
# command to use instead of mailbox delivery. The command is run as
# the recipient with proper HOME, SHELL and LOGNAME environment settings.
# Exception: delivery for root is done as $default_user.
# Other environment variables of interest: USER (recipient username),
# EXTENSION (address extension), DOMAIN (domain part of address),
# and LOCAL (the address localpart).
# Unlike other Postfix configuration parameters, the mailbox_command
# parameter is not subjected to $parameter substitutions. This is to
# make it easier to specify shell syntax (see example below).
# Avoid shell meta characters because they will force Postfix to run
# an expensive shell process. Procmail alone is expensive enough.
# IF YOU USE THIS TO DELIVER MAIL SYSTEM-WIDE, YOU MUST SET UP AN
# ALIAS THAT FORWARDS MAIL FOR ROOT TO A REAL USER.
#mailbox_command = /some/where/procmail
#mailbox_command = /some/where/procmail -a "$EXTENSION"
# The mailbox_transport specifies the optional transport in master.cf
# to use after processing aliases and .forward files. This parameter
# has precedence over the mailbox_command, fallback_transport and
# luser_relay parameters.
# Specify a string of the form transport:nexthop, where transport is
# the name of a mail delivery transport defined in master.cf. The
# :nexthop part is optional. For more details see the sample transport
# configuration file.
# NOTE: if you use this feature for accounts not in the UNIX password
# file, then you must update the "local_recipient_maps" setting in
# the main.cf file, otherwise the SMTP server will reject mail for
# non-UNIX accounts with "User unknown in local recipient table".
#mailbox_transport = lmtp:unix:/file/name
#mailbox_transport = cyrus
# The fallback_transport specifies the optional transport in master.cf
# to use for recipients that are not found in the UNIX passwd database.
# This parameter has precedence over the luser_relay parameter.
# Specify a string of the form transport:nexthop, where transport is
# the name of a mail delivery transport defined in master.cf. The
# :nexthop part is optional. For more details see the sample transport
# configuration file.
# NOTE: if you use this feature for accounts not in the UNIX password
# file, then you must update the "local_recipient_maps" setting in
# the main.cf file, otherwise the SMTP server will reject mail for
# non-UNIX accounts with "User unknown in local recipient table".
#fallback_transport = lmtp:unix:/file/name
#fallback_transport = cyrus
#fallback_transport =
# The luser_relay parameter specifies an optional destination address
# for unknown recipients. By default, mail for unknown@$mydestination,
# unknown@[$inet_interfaces] or unknown@[$proxy_interfaces] is returned
# as undeliverable.
# The following expansions are done on luser_relay: $user (recipient
# username), $shell (recipient shell), $home (recipient home directory),
# $recipient (full recipient address), $extension (recipient address
# extension), $domain (recipient domain), $local (entire recipient
# localpart), $recipient_delimiter. Specify ${name?value} or
# ${name:value} to expand value only when $name does (does not) exist.
# luser_relay works only for the default Postfix local delivery agent.
# NOTE: if you use this feature for accounts not in the UNIX password
# file, then you must specify "local_recipient_maps =" (i.e. empty) in
# the main.cf file, otherwise the SMTP server will reject mail for
# non-UNIX accounts with "User unknown in local recipient table".
#luser_relay = [email protected]
#luser_relay = [email protected]
#luser_relay = admin+$local
# JUNK MAIL CONTROLS
# The controls listed here are only a very small subset. The file
# SMTPD_ACCESS_README provides an overview.
# The header_checks parameter specifies an optional table with patterns
# that each logical message header is matched against, including
# headers that span multiple physical lines.
# By default, these patterns also apply to MIME headers and to the
# headers of attached messages. With older Postfix versions, MIME and
# attached message headers were treated as body text.
# For details, see "man header_checks".
#header_checks = regexp:/etc/postfix/header_checks
# FAST ETRN SERVICE
# Postfix maintains per-destination logfiles with information about
# deferred mail, so that mail can be flushed quickly with the SMTP
# "ETRN domain.tld" command, or by executing "sendmail -qRdomain.tld".
# See the ETRN_README document for a detailed description.
# The fast_flush_domains parameter controls what destinations are
# eligible for this service. By default, they are all domains that
# this server is willing to relay mail to.
#fast_flush_domains = $relay_domains
# SHOW SOFTWARE VERSION OR NOT
# The smtpd_banner parameter specifies the text that follows the 220
# code in the SMTP server's greeting banner. Some people like to see
# the mail version advertised. By default, Postfix shows no version.
# You MUST specify $myhostname at the start of the text. That is an
# RFC requirement. Postfix itself does not care.
#smtpd_banner = $myhostname ESMTP $mail_name
#smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
# PARALLEL DELIVERY TO THE SAME DESTINATION
# How many parallel deliveries to the same user or domain? With local
# delivery, it does not make sense to do massively parallel delivery
# to the same user, because mailbox updates must happen sequentially,
# and expensive pipelines in .forward files can cause disasters when
# too many are run at the same time. With SMTP deliveries, 10
# simultaneous connections to the same domain could be sufficient to
# raise eyebrows.
# Each message delivery transport has its XXX_destination_concurrency_limit
# parameter. The default is $default_destination_concurrency_limit for
# most delivery transports. For the local delivery agent the default is 2.
#local_destination_concurrency_limit = 2
#default_destination_concurrency_limit = 20
# DEBUGGING CONTROL
# The debug_peer_level parameter specifies the increment in verbose
# logging level when an SMTP client or server host name or address
# matches a pattern in the debug_peer_list parameter.
debug_peer_level = 2
# The debug_peer_list parameter specifies an optional list of domain
# or network patterns, /file/name patterns or type:name tables. When
# an SMTP client or server host name or address matches a pattern,
# increase the verbose logging level by the amount specified in the
# debug_peer_level parameter.
#debug_peer_list = 127.0.0.1
#debug_peer_list = some.domain
# The debugger_command specifies the external command that is executed
# when a Postfix daemon program is run with the -D option.
# Use "command .. & sleep 5" so that the debugger can attach before
# the process marches on. If you use an X-based debugger, be sure to
# set up your XAUTHORITY environment variable before starting Postfix.
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5
# If you can't use X, use this to capture the call stack when a
# daemon crashes. The result is in a file in the configuration
# directory, and is named after the process name and the process ID.
# debugger_command =
# PATH=/bin:/usr/bin:/usr/local/bin; export PATH; (echo cont;
# echo where) | gdb $daemon_directory/$process_name $process_id 2>&1
# >$config_directory/$process_name.$process_id.log & sleep 5
# Another possibility is to run gdb under a detached screen session.
# To attach to the screen sesssion, su root and run "screen -r
# <id_string>" where <id_string> uniquely matches one of the detached
# sessions (from "screen -list").
# debugger_command =
# PATH=/bin:/usr/bin:/sbin:/usr/sbin; export PATH; screen
# -dmS $process_name gdb $daemon_directory/$process_name
# $process_id & sleep 1
# INSTALL-TIME CONFIGURATION INFORMATION
# The following parameters are used when installing a new Postfix version.
# sendmail_path: The full pathname of the Postfix sendmail command.
# This is the Sendmail-compatible mail posting interface.
sendmail_path = /usr/sbin/sendmail
# newaliases_path: The full pathname of the Postfix newaliases command.
# This is the Sendmail-compatible command to build alias databases.
newaliases_path = /usr/bin/newaliases
# mailq_path: The full pathname of the Postfix mailq command. This
# is the Sendmail-compatible mail queue listing command.
mailq_path = /usr/bin/mailq
# setgid_group: The group for mail submission and queue management
# commands. This must be a group name with a numerical group ID that
# is not shared with other accounts, not even with the Postfix account.
setgid_group = _postdrop
# html_directory: The location of the Postfix HTML documentation.
html_directory = no
# manpage_directory: The location of the Postfix on-line manual pages.
manpage_directory = /usr/share/man
# sample_directory: The location of the Postfix sample configuration files.
# This parameter is obsolete as of Postfix 2.1.
sample_directory = /usr/share/doc/postfix/examples
# readme_directory: The location of the Postfix README files.
readme_directory = /usr/share/doc/postfix
mydomain_fallback = localhost
message_size_limit = 52428800
myhostname = mail1.stanwood.wednet.edu
mailbox_transport = cyrus
mydomain = stanwood.wednet.edu
mailbox_size_limit = 0
enable_server_options = yes
inet_interfaces = all
mynetworks = 127.0.0.0/8,172.16.0.0/17,169.204.240.0/25,172.29.1.22,169.204.240.2
smtpd_use_tls = yes
smtpd_enforce_tls = no
smtpd_tls_cert_file = /etc/certificates/mail1.stanwood.wednet.edu.crt
smtpd_tls_key_file = /etc/certificates/mail1.stanwood.wednet.edu.key
smtpd_sasl_auth_enable = yes
smtpd_use_pw_server = yes
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination,permit
smtpd_pw_server_security_options = gssapi,cram-md5,login,plain
content_filter = smtp-amavis:[127.0.0.1]:10024
mydestination = $myhostname,localhost.$mydomain,localhost,mail1.stanwood.wednet.edu,stanwood.we dnet.edu
owner_request_special = no
recipient_delimiter = +
alias_maps = hash:/etc/aliases,hash:/var/mailman/data/aliases
# 02/02/09 Server Checkup by Alex
bounce_queue_lifetime = 6h
delay_warning_time = 6h
maximal_queue_lifetime = 2d
# Topicdesk Frontline Defense
disable_vrfy_command = yes
smtpd_client_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_rbl_client zen.spamhaus.org, permit
smtpd_helo_required = yes
smtpd_helo_restrictions = permit_sasl_authenticated, permit_mynetworks, check_helo_access hash:/etc/postfix/helo_access, reject_non_fqdn_hostname,reject_invalid_hostname, permit
smtpd_sender_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_non_fqdn_sender, permit
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination,permit
smtpd_data_restrictions = permit_mynetworks, reject_unauth_pipelining, permit
virtual_transport = virtual
virtual_mailbox_domains =
sh-3.2#Right, what was happening is that it was a big loop. We had to modify our DNS and some other settings on the spam bucket... but... wondering if there's another solution...
mail1:~ admin$ postconf -n
alias_maps = hash:/etc/aliases,hash:/var/mailman/data/aliases
bouncequeuelifetime = 6h
command_directory = /usr/sbin
config_directory = /etc/postfix
content_filter = smtp-amavis:[127.0.0.1]:10024
daemon_directory = /usr/libexec/postfix
debugpeerlevel = 2
delaywarningtime = 6h
disablevrfycommand = yes
enableserveroptions = yes
html_directory = no
inet_interfaces = all
localrecipientmaps = proxy:unix:passwd.byname $alias_maps
mail_owner = _postfix
mailboxsizelimit = 0
mailbox_transport = cyrus
mailq_path = /usr/bin/mailq
manpage_directory = /usr/share/man
maximalqueuelifetime = 2d
messagesizelimit = 52428800
mydestination = $myhostname,localhost.$mydomain,localhost,mail1.stanwood.wednet.edu,stanwood.we dnet.edu
mydomain = stanwood.wednet.edu
mydomain_fallback = localhost
myhostname = mail1.stanwood.wednet.edu
mynetworks = 127.0.0.0/8,172.16.0.0/17,169.204.240.0/25,172.29.1.22,169.204.240.2
newaliases_path = /usr/bin/newaliases
ownerrequestspecial = no
queue_directory = /private/var/spool/postfix
readme_directory = /usr/share/doc/postfix
recipient_delimiter = +
sample_directory = /usr/share/doc/postfix/examples
sendmail_path = /usr/sbin/sendmail
setgid_group = _postdrop
smtpdclientrestrictions = permitsaslauthenticated, permit_mynetworks, rejectrblclient zen.spamhaus.org, permit
smtpddatarestrictions = permit_mynetworks, rejectunauthpipelining, permit
smtpdenforcetls = no
smtpdhelorequired = yes
smtpdhelorestrictions = permitsaslauthenticated, permit_mynetworks, checkheloaccess hash:/etc/postfix/helo_access, rejectnon_fqdn_hostname,reject_invalidhostname, permit
smtpdpw_server_securityoptions = gssapi,cram-md5,login,plain
smtpdrecipientrestrictions = permitsasl_authenticated,permit_mynetworks,reject_unauthdestination,permit
smtpdsasl_authenable = yes
smtpdsenderrestrictions = permitsaslauthenticated, permit_mynetworks, rejectnon_fqdnsender, permit
smtpdtls_certfile = /etc/certificates/mail1.stanwood.wednet.edu.crt
smtpdtls_keyfile = /etc/certificates/mail1.stanwood.wednet.edu.key
smtpduse_pwserver = yes
smtpdusetls = yes
unknownlocal_recipient_rejectcode = 550
virtualmailboxdomains =
virtual_transport = virtual
mail1:~ admin$ -
Hi
I want to extract the body text and all the attachments of the mail with POP3. So i am getting a session, opening the INBOX folder and getting all the messages. After that for every message i am checking the mimetype. If it is multipart/*, then i am doing getContent & I am expecting MultiPart as return from message.getContent.
When ever i am trying to call message.getContent for multipart/* mimeType , I am getting SharedByteArrayInputStream. I have Also printed the mimetypes supported by the mailCapCommandMap Class and multipart/* mimetype is getting printed.
I am using mail.jar 1.4.3 and activation.jar 1.1.1 implementation version.
Can you please help me and point out where i am wrong.
Thanks
Edited by: user13526637 on Dec 21, 2010 9:18 PMBut as far as i know, we get an inputstream because the java mail couldnot find the appropriate Datahandler for the corresponding mimetype. Hence if i am getting the multipart/* as the supported the mimetype, then i should get the MUltipart class from the getContent method & not the inputStream.
ALso please tell me how we can read the input stream to the different attachments & the body part of the mail.???_ -
Not all fields (self-created) of addresbook are synced
I have the following problem: I have an iPad and an iPod touch, both with the latest version of iOS. I also have a Mac with 10.5.8.
In adressbook I have added my own fields. Say I have the following extra fields: Child/Child/partner/e-mail1/e-mail2. The problem is that those fields are not synced to either iPad nor iPod touch. These new fields will not appear on my mobile after a sync.
This ***** because I spend conciderable time in creating and filling these fields with information.
This has nothing to do with mobile.me. iSync, etc. It's plain syncing OSX addresbook and iPad/iPod touch through iTunes.Hi Ramona,
Storage location (standard infoobject 0STOR_LOC) has plant as compunding object, check whether this is the issue ? (may be check with Steel grade infoobject also).
Else, do some RSRV checks on the DSO and Infoobject, if it doesn't bring up any issue, raise a message with SAP.
Check your BW Support Pack level , is it the latest ? Give more details about the scenario ?
Cheers,
CK -
Unable to delete messages from queue.
I have a journaling rule setup to send mail to a archive appliance. I have two messages in my queue that are From Address:<> to my recipient (my archiver's email address). The journal rule works fine since it is working for all my users mail, but I have two messages stuck in my queue complaining that they could not be categorized and an event 9213 for MSExchangeTransport every 30 minutes.
"A non-expirable message with the internal message ID 7996 could not be categorized. This message may be a journal report or other system message. The message will remain in the queue until administrative action is taken to resolve the error. Other messages may also have encountered this error. To further diagnose the error, use the Queue Viewer or the Mail Flow Troubleshooter."
I have tried via the GUI and Shell to remove these two messages. The GUI gives me an error:
Microsoft Exchange Error
Action 'Remove (with NDR)' could not be performed on object 'RE: Test to determine if email can be delivered & Received'.
RE: Test to determine if email can be delivered & Received
Failed
Error:
The requested operation can't be performed for the object with identity MyMailServerName\Submission\7999.
OK
The Shell will actually not report back an error but I still have those messages in the queue. The command to see info about the message was:
Get-Message -IncludeRecipientInfo | Where { $_.Recipients -Like "*[email protected]*" } | Format-List
Then I tried deleting the message using the "InternetMessageID" info I gathered from this.
Remove-Message -Filter {InternetMessageID -eq "[email protected]"} -WithNDR $false
This prompts me for a Yes, No, etc... responce (I thought I had it this time) and gave me no error, but the message still resides in queue.
I am at a loss. Any help?Correct, two messages stuck in queue and cannot remove.
Environment is a Windows 2003 R2 w/ SP2 64bit server, Exchange 2007 SP1 with all roles, AD/DNS is also Windows 2003 R2 w/ SP2 64bit.
This just seemed to start happening a few days ago and just with these two particular messages. I have a archive appliance from ArcMail and a journal rule setup in Exchange to journal all mail to the ArcMail appliance. This has been working and continues to work except for these two messages.
[PS] C:\>Get-Message -IncludeRecipientInfo | Where { $_.Recipients -Like "*[email protected]*" } | Format-List
Identity : CO-MAIL1\Submission\7996
Subject : RE: Test to determine if email can be delivered & Received
InternetMessageId : <[email protected]>
FromAddress : <>
Status : Retry
Size : 29638B
MessageSourceName : Journaling
SourceIP : 255.255.255.255
SCL : 0
DateReceived : 9/18/2008 1:39:34 PM
ExpirationTime :
LastError : Categorization failed. The message will be deferred and ret
ried because it was marked for retry if rejected.
RetryCount : 0
Queue : CO-MAIL1\Submission
Recipients : {[email protected]}
IsValid : True
ObjectState : Unchanged
Identity : CO-MAIL1\Submission\7999
Subject : RE: Test to determine if email can be delivered & Received
InternetMessageId : <[email protected]>
FromAddress : <>
Status : Retry
Size : 29623B
MessageSourceName : Journaling
SourceIP : 255.255.255.255
SCL : 0
DateReceived : 9/18/2008 1:39:34 PM
ExpirationTime :
LastError : Categorization failed. The message will be deferred and ret
ried because it was marked for retry if rejected.
RetryCount : 0
Queue : CO-MAIL1\Submission
Recipients : {[email protected]}
IsValid : True
ObjectState : Unchanged
Domain Controller Diagnosis
Performing initial setup:
Done gathering initial info.
Doing initial required tests
Testing server: co-site\CO-DNS1
Starting test: Connectivity
......................... CO-DNS1 passed test Connectivity
Doing primary tests
Testing server: co-site\CO-DNS1
Starting test: Replications
......................... CO-DNS1 passed test Replications
Starting test: NCSecDesc
......................... CO-DNS1 passed test NCSecDesc
Starting test: NetLogons
......................... CO-DNS1 passed test NetLogons
Starting test: Advertising
......................... CO-DNS1 passed test Advertising
Starting test: KnowsOfRoleHolders
......................... CO-DNS1 passed test KnowsOfRoleHolders
Starting test: RidManager
......................... CO-DNS1 passed test RidManager
Starting test: MachineAccount
......................... CO-DNS1 passed test MachineAccount
Starting test: Services
......................... CO-DNS1 passed test Services
Starting test: ObjectsReplicated
......................... CO-DNS1 passed test ObjectsReplicated
Starting test: frssysvol
......................... CO-DNS1 passed test frssysvol
Starting test: frsevent
......................... CO-DNS1 passed test frsevent
Starting test: kccevent
......................... CO-DNS1 passed test kccevent
Starting test: systemlog
......................... CO-DNS1 passed test systemlog
Starting test: VerifyReferences
......................... CO-DNS1 passed test VerifyReferences
Running partition tests on : ForestDnsZones
Starting test: CrossRefValidation
......................... ForestDnsZones passed test CrossRefValidation
Starting test: CheckSDRefDom
......................... ForestDnsZones passed test CheckSDRefDom
Running partition tests on : DomainDnsZones
Starting test: CrossRefValidation
......................... DomainDnsZones passed test CrossRefValidation
Starting test: CheckSDRefDom
......................... DomainDnsZones passed test CheckSDRefDom
Running partition tests on : Schema
Starting test: CrossRefValidation
......................... Schema passed test CrossRefValidation
Starting test: CheckSDRefDom
......................... Schema passed test CheckSDRefDom
Running partition tests on : Configuration
Starting test: CrossRefValidation
......................... Configuration passed test CrossRefValidation
Starting test: CheckSDRefDom
......................... Configuration passed test CheckSDRefDom
Running partition tests on : lcsd
Starting test: CrossRefValidation
......................... lcsd passed test CrossRefValidation
Starting test: CheckSDRefDom
......................... lcsd passed test CheckSDRefDom
Running enterprise tests on : lcsd.local
Starting test: Intersite
......................... lcsd.local passed test Intersite
Starting test: FsmoCheck
......................... lcsd.local passed test FsmoCheck
[PS] C:\>Remove-Message -filter {FromAddress -eq "<>"} -withNDR $false -debug -verbose
VERBOSE: Remove-Message : Beginning processing.
Confirm
Are you sure you want to perform this action?
Removing the messages that match filter "FromAddress -eq "<>"".
Yes Yes to All No [L] No to All Suspend [?] Help
(default is "Y"):Y
VERBOSE: Remove-Message : Ending processing.
[PS] C:\>Remove-Message -Filter {InternetMessageID -eq "[email protected]"} -WithNDR $false -debug -verbose
VERBOSE: Remove-Message : Beginning processing.
Confirm
Are you sure you want to perform this action?
Removing the messages that match filter "InternetMessageID -eq
"[email protected]"".
Yes Yes to All No [L] No to All Suspend [?] Help
(default is "Y"):Y
VERBOSE: Remove-Message : Ending processing.
[PS] C:\>Remove-Message -filter {FromAddress -eq ""} -withNDR $false -debug -ver
bose
VERBOSE: Remove-Message : Beginning processing.
Confirm
Are you sure you want to perform this action?
Removing the messages that match filter "FromAddress -eq """.
Yes Yes to All No [L] No to All Suspend [?] Help
(default is "Y"):Y
VERBOSE: Remove-Message : Ending processing.
[PS] C:\>
Tried several filter options and all had the same result. No events in the event viewer and did not remove the stuck messages. -
URGENT ----- Problem in converting spool to pdf .
Error - File cannot be opened because of no pages ......
Hi experts,
I am passing internal table contents to spool --> then spool to pdf -
> then mail sending.
Everything is fine but only error is in the receiving mail the above error is coming.
given the code...
<b>I think the error is in converting into pdf function module</b>
<b>Help me to solve this problem as it is very urgent</b>
include data_declare. " pasted down
select * from kna1 into table itab up to 50 rows.
CALL FUNCTION 'RSPO_OPEN_SPOOLREQUEST'
EXPORTING
dest = 'LP01'
immediate_print = 'X'
IMPORTING
handle = handle
SPOOLID = spoolid.
loop at itab.
concatenate itab-kunnr itab-name1 itab-land1 into text separated by
space.
CALL FUNCTION 'RSPO_WRITE_SPOOLREQUEST'
EXPORTING
handle = handle
text = text.
endloop.
CALL FUNCTION 'RSPO_CLOSE_SPOOLREQUEST'
EXPORTING
handle = handle.
Convert Spool to PDF **********************************
<b>CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
EXPORTING
src_spoolid = spoolid "gd_spool_nr
no_dialog = c_no
dst_device = c_device
IMPORTING
pdf_bytecount = gd_bytecount
TABLES
pdf = it_pdf_output
EXCEPTIONS
err_no_abap_spooljob = 1
err_no_spooljob = 2
err_no_permission = 3
err_conv_not_possible = 4
err_bad_destdevice = 5
user_cancelled = 6
err_spoolerror = 7
err_temseerror = 8
err_btcjob_open_failed = 9
err_btcjob_submit_failed = 10
err_btcjob_close_failed = 11
OTHERS = 12.
CHECK sy-subrc = 0.
Transfer the 132-long strings to 255-long strings
LOOP AT it_pdf_output.
TRANSLATE it_pdf_output USING ' ~'.
CONCATENATE gd_buffer it_pdf_output INTO gd_buffer.
ENDLOOP.
TRANSLATE gd_buffer USING '~ '.
DO.
it_mess_att = gd_buffer.
APPEND it_mess_att.
SHIFT gd_buffer LEFT BY 255 PLACES.
IF gd_buffer IS INITIAL.
EXIT.
ENDIF.
ENDDO.</b>
Processing Mail Sending ************************************
DATA: p_email LIKE somlreci1-receiver,
p_sender LIKE somlreci1-receiver,
sub(40).
DESCRIBE TABLE it_mess_att LINES gd_recsize.
CHECK gd_recsize > 0.
REFRESH it_mess_bod.
Default subject matter
gd_subject = 'Subject'.
gd_attachment_desc = text-002.
it_mess_bod = text-001.
APPEND it_mess_bod.
IF p_sender EQ space.
gd_sender_type = space.
ELSE.
gd_sender_type = 'INT'.
ENDIF.
MOVE 'Orders Rejeced on' TO sub.
WRITE: sy-datum DD/MM/YYYY TO sub+27(10).
Send file by email as .xls speadsheet
PERFORM send_file_as_email_attachment
TABLES it_mess_bod
it_mess_att
USING
p_email
sub "text-009
'PDF'
gd_attachment_name
gd_attachment_desc
p_sender
gd_sender_type
CHANGING gd_error
gd_reciever.
ENDFORM. " process_email
*& Form send_file_as_email_attachment
text
-->P_IT_MESS_BOD text
-->P_IT_MESS_ATT text
-->P_TEXT_009 text
-->P_1058 text
-->P_GD_ATTACHMENT_NAME text
-->P_GD_ATTACHMENT_DESC text
<--P_GD_ERROR text
<--P_GD_RECIEVER text
FORM send_file_as_email_attachment TABLES it_message
it_attach
USING
p_email
p_mtitle
p_format
p_filename
p_attdescription
p_sender_address
p_sender_addres_type
CHANGING p_error
p_reciever.
DATA: ld_error TYPE sy-subrc,
ld_reciever TYPE sy-subrc,
ld_mtitle LIKE sodocchgi1-obj_descr,
ld_email LIKE somlreci1-receiver,
ld_format TYPE so_obj_tp ,
ld_attdescription TYPE so_obj_nam ,
ld_attfilename TYPE so_obj_des ,
ld_sender_address LIKE soextreci1-receiver,
ld_sender_address_type LIKE soextreci1-adr_typ,
ld_receiver LIKE sy-subrc.
DATA: t_packing_list LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE,
t_contents LIKE solisti1 OCCURS 0 WITH HEADER LINE,
t_receivers LIKE somlreci1 OCCURS 0 WITH HEADER LINE,
t_attachment LIKE solisti1 OCCURS 0 WITH HEADER LINE,
t_object_header LIKE solisti1 OCCURS 0 WITH HEADER LINE,
w_cnt TYPE i,
w_sent_all(1) TYPE c,
w_doc_data LIKE sodocchgi1.
ld_email = p_email.
ld_mtitle = p_mtitle.
ld_format = p_format.
ld_attdescription = p_attdescription.
ld_attfilename = p_filename.
ld_sender_address = p_sender_address.
ld_sender_address_type = p_sender_addres_type.
Fill the document data.
w_doc_data-doc_size = 1.
Populate the subject/generic message attributes
w_doc_data-obj_langu = sy-langu.
w_doc_data-obj_name = 'SAPRPT'.
w_doc_data-obj_descr = ld_mtitle .
w_doc_data-sensitivty = 'F'.
Fill the document data and get size of attachment
CLEAR w_doc_data.
READ TABLE it_attach INDEX w_cnt.
w_doc_data-doc_size =
( w_cnt - 1 ) * 255 + STRLEN( it_attach ).
w_doc_data-obj_langu = sy-langu.
w_doc_data-obj_name = 'SAPRPT'.
w_doc_data-obj_descr = ld_mtitle.
w_doc_data-sensitivty = 'F'.
CLEAR t_attachment.
REFRESH t_attachment.
t_attachment[] = it_attach[].
Describe the body of the message
CLEAR t_packing_list.
REFRESH t_packing_list.
t_packing_list-transf_bin = space.
t_packing_list-head_start = 1.
t_packing_list-head_num = 0.
t_packing_list-body_start = 1.
DESCRIBE TABLE it_message LINES t_packing_list-body_num.
t_packing_list-doc_type = 'RAW'.
APPEND t_packing_list.
Create attachment notification
t_packing_list-transf_bin = 'X'.
t_packing_list-head_start = 1.
t_packing_list-head_num = 1.
t_packing_list-body_start = 1.
DESCRIBE TABLE t_attachment LINES t_packing_list-body_num.
t_packing_list-doc_type = ld_format.
t_packing_list-obj_descr = ld_attdescription.
t_packing_list-obj_name = ld_attfilename.
t_packing_list-doc_size = t_packing_list-body_num * 255.
APPEND t_packing_list.
Add the recipients email address
CLEAR t_receivers.
REFRESH t_receivers.
t_receivers-rec_type = 'U'.
t_receivers-com_type = 'INT'.
t_receivers-notif_del = 'X'.
t_receivers-notif_ndel = 'X'.
CLEAR gt_mail.
SELECT SINGLE * FROM zmail INTO gt_mail
WHERE grpnr = '1'.
IF NOT gt_mail-mail1 IS INITIAL.
t_receivers-receiver = gt_mail-mail1.
APPEND t_receivers.
ENDIF.
IF NOT gt_mail-mail2 IS INITIAL.
t_receivers-receiver = gt_mail-mail2.
APPEND t_receivers.
ENDIF.
IF NOT gt_mail-mail3 IS INITIAL.
t_receivers-receiver = gt_mail-mail3.
APPEND t_receivers.
ENDIF.
IF NOT gt_mail-mail4 IS INITIAL.
t_receivers-receiver = gt_mail-mail4.
APPEND t_receivers.
ENDIF.
LOOP AT gt_mail.
t_receivers-receiver = gt_mail-mailid..
APPEND t_receivers.
ENDLOOP.
CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
EXPORTING
document_data = w_doc_data
put_in_outbox = 'X'
sender_address = ld_sender_address
sender_address_type = ld_sender_address_type
commit_work = 'X'
IMPORTING
sent_to_all = w_sent_all
TABLES
packing_list = t_packing_list
contents_bin = t_attachment
contents_txt = it_message
receivers = t_receivers
EXCEPTIONS
too_many_receivers = 1
document_not_sent = 2
document_type_not_exist = 3
operation_no_authorization = 4
parameter_error = 5
x_error = 6
enqueue_error = 7
OTHERS = 8.
Populate zerror return code
ld_error = sy-subrc.
Populate zreceiver return code
LOOP AT t_receivers.
ld_receiver = t_receivers-retrn_code.
ENDLOOP.
ENDFORM. " send_file_as_email_attachment
Data Declaration ************************************
DATA : handle LIKE sy-tabix.
data itab like kna1 occurs 0 with header line.
data: text(50) type c.
data: spoolid type TSP01-RQIDENT.
DATA : gt_listobject LIKE abaplist OCCURS 10 .
DATA : gt_objcont LIKE soli OCCURS 10 WITH HEADER LINE.
DATA : gt_objcont1 LIKE soli OCCURS 10 WITH HEADER LINE.
DATA : gt_objhead LIKE soli OCCURS 10 WITH HEADER LINE.
DATA : gt_att_head LIKE soli OCCURS 10 WITH HEADER LINE.
DATA : gt_receivers LIKE soos1 OCCURS 10 WITH HEADER LINE.
DATA : gt_packing_list LIKE soxpl OCCURS 10 WITH HEADER LINE.
DATA : gt_so_ali LIKE soli OCCURS 100 WITH HEADER LINE.
DATA : gt_so_ali1 LIKE soli OCCURS 100 WITH HEADER LINE.
DATA : gt_document_data LIKE sood1.
DATA: lineno TYPE i , length TYPE i , size TYPE i.
DATA: gt_message LIKE soli OCCURS 10 WITH HEADER LINE,
gt_message1 LIKE soli OCCURS 10 WITH HEADER LINE.
DATA: gt_scheme LIKE ztrc_scheme OCCURS 0 WITH HEADER LINE,
gt_mail LIKE zmail_prov OCCURS 0 WITH HEADER LINE.
gt_mail LIKE zmail." occurs 0 with header line.
DATA: gd_recsize TYPE i.
Spool IDs
TYPES: BEGIN OF t_tbtcp.
INCLUDE STRUCTURE tbtcp.
TYPES: END OF t_tbtcp.
DATA: it_tbtcp TYPE STANDARD TABLE OF t_tbtcp INITIAL SIZE 0,
wa_tbtcp TYPE t_tbtcp.
Job Runtime Parameters
DATA: gd_eventid LIKE tbtcm-eventid,
gd_eventparm LIKE tbtcm-eventparm,
gd_external_program_active LIKE tbtcm-xpgactive,
gd_jobcount LIKE tbtcm-jobcount,
gd_jobname LIKE tbtcm-jobname,
gd_stepcount LIKE tbtcm-stepcount,
gd_error TYPE sy-subrc,
gd_reciever TYPE sy-subrc.
DATA: w_recsize TYPE i.
DATA: gd_subject LIKE sodocchgi1-obj_descr,
it_mess_bod LIKE solisti1 OCCURS 0 WITH HEADER LINE,
it_mess_att LIKE solisti1 OCCURS 0 WITH HEADER LINE,
gd_sender_type LIKE soextreci1-adr_typ,
gd_attachment_desc TYPE so_obj_nam,
gd_attachment_name TYPE so_obj_des.
Spool to PDF conversions
DATA: gd_spool_nr LIKE tsp01-rqident,
gd_destination LIKE rlgrap-filename,
gd_bytecount LIKE tst01-dsize,
gd_buffer TYPE string.
Binary store for PDF
DATA: BEGIN OF it_pdf_output OCCURS 0.
INCLUDE STRUCTURE tline.
DATA: END OF it_pdf_output.
CONSTANTS: c_dev LIKE sy-sysid VALUE 'DEV',
c_no(1) TYPE c VALUE ' ',
c_device(4) TYPE c VALUE 'LOCL'.
DATA: check TYPE c,
days TYPE i.
<b></b><b></b><b></b>Hi Prashant,
Thanks for your reply. Really it is very useful one.
In this, the output list is getting populated into spool and to pdf.
But my requirement sending the internal table contents to spool directly without dispalying in the output list.
I did the program like the above mentioned one already. But my requirement is not that one.
Regards
chakradhar -
How to avoid using bapi_commit inside a loop .
Hi ,
Need a help.
This is a program for uploading business partners in CRM.
The basic logic of the program is as below:
- There are two types of records in the upload file new/ old ones to be updated
- A new record is identified by checking if a BP exits based on the cust id
- In case it is a new record certain BAPIs are called to create a new BP, else the address details, identification etc are updated for the existing one.
- SQL analysis of the program showed that the maximum amount of time is taken in INSERT/UPDTAE/COMMIT processes.
When we raised the issue with SAP , they stated that the problem occurs due to the very high no of BAPI_COMMIT calls which is within the loop.
The standard BAPI available allows passing of one record at a time. Hence passing multiple records at a time and a single commit did not seem feasible.
Also while updating since there are different BAPIs for address and identification it is being called in a sequence and commit issued after each. If commit is excluded it gives a locking error since the first BAPI tends to lock the record and does not allow subsequent BAPI call
kindly suggest me with a solution of using a less commit for updating series of records.
The code is as follows:
*& Report ZBP_BDCP_ACCTRNSDATA_UPLOAD *
*& Created By : Radhu Shankar.G *
*& Purpose : Program to Create Investors with the transaction *
*& data received from the De-dupe Software. *
*& Note : Can be Executed or scheduled only in Background *
REPORT zbp_bdcp_acctrnsdata_upload LINE-SIZE 255 LINE-COUNT 65 NO STANDARD PAGE HEADING
MESSAGE-ID zcrm_upload.
TABLES : bbp_iu01.
Selection Screen
SELECTION-SCREEN: BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
PARAMETERS: p_file TYPE string LOWER CASE OBLIGATORY.
SELECTION-SCREEN: END OF BLOCK blk1.
SELECTION-SCREEN: BEGIN OF BLOCK blk2 WITH FRAME TITLE text-002.
SELECT-OPTIONS:s_email FOR bbp_iu01-email NO INTERVALS.
SELECTION-SCREEN: END OF BLOCK blk2.
SELECTION-SCREEN: BEGIN OF BLOCK blk3 WITH FRAME TITLE text-003.
SELECTION-SCREEN COMMENT /1(72) text-004.
SELECTION-SCREEN COMMENT /1(72) text-006.
SELECTION-SCREEN COMMENT /1(72) text-007.
SELECTION-SCREEN COMMENT /1(72) text-005.
SELECTION-SCREEN: END OF BLOCK blk3.
Data Declaration
Main Upload structure and internal table
DATA : BEGIN OF i_main,
cust_id TYPE bu_bpext, " Customer ID
inv_type_code TYPE crmt_mktpfchr_atvalue, " Investor Type Code
insti_tag TYPE crmt_mktpfchr_atvalue, " Retail/Instituitional Tag
name TYPE char120, " Name
address1 TYPE ad_strspp1, " Address1
address2 TYPE ad_strspp2, " Address2
address3 TYPE ad_street, " Address3
city TYPE ad_city1, " City
state TYPE t005u-bezei, " Region/State
country TYPE landx50, " Country
pin_code TYPE ad_pstcd1, " Pin Code
off_phone1 TYPE ad_tlnmbr, " Office Telephone Number1
off_phone2 TYPE ad_tlnmbr, " Office Telephone Number2
res_phone1 TYPE ad_tlnmbr, " Residence Telephone Number1
res_phone2 TYPE ad_tlnmbr, " Residence Telephone Number1
mobile TYPE ad_mbnmbr1, " Mobile Number
email TYPE ad_smtpadr, " Email ID
birth_date TYPE bu_birthdt, " Birth Date
pan_no TYPE bu_id_number, " Pan Number
lob TYPE crmt_mktpfchr_atvalue, " Line of Business
fam_tag TYPE bu_id_number, " FAM Tag Number
mod_date TYPE sy-datum, " Modified Date
END OF i_main.
DATA : it_main LIKE i_main OCCURS 0 WITH HEADER LINE.
Error file structure and internal table
DATA : BEGIN OF i_error,
cust_id TYPE bu_bpext, " Customer ID
inv_type_code TYPE crmt_mktpfchr_atvalue, " Investor Type Code
insti_tag TYPE crmt_mktpfchr_atvalue, " Retail/Instituitional Tag
name TYPE char120, " Name
address1 TYPE ad_strspp1, " Address1
address2 TYPE ad_strspp2, " Address2
address3 TYPE ad_street, " Address3
city TYPE ad_city1, " City
state TYPE t005u-bezei, " Region/State
country TYPE landx50, " Country
pin_code TYPE ad_pstcd1, " Pin Code
off_phone1 TYPE ad_tlnmbr, " Office Telephone Number1
off_phone2 TYPE ad_tlnmbr, " Office Telephone Number2
res_phone1 TYPE ad_tlnmbr, " Residence Telephone Number1
res_phone2 TYPE ad_tlnmbr, " Residence Telephone Number1
mobile TYPE ad_mbnmbr1, " Mobile Number
email TYPE ad_smtpadr, " Email ID
birth_date TYPE bu_birthdt, " Birth Date
pan_no TYPE bu_id_number, " Pan Number
lob TYPE crmt_mktpfchr_atvalue, " Line of Business
fam_tag TYPE bu_id_number, " FAM Tag Number
mod_date TYPE sy-datum, " Modified Date
bp TYPE bapibus1006_head-bpartner, " BP
recno(4) TYPE c, " Record No
message(255) TYPE c, " Error Message
END OF i_error.
DATA : it_error LIKE i_error OCCURS 0 WITH HEADER LINE.
BP Telephone, Email & Role Details
DATA : w_bp_tel TYPE bapiadtel,
it_bp_tel TYPE bapiadtel OCCURS 0 WITH HEADER LINE,
it_bp_tel1 TYPE bapiadtel OCCURS 0 WITH HEADER LINE,
it_bp_email TYPE bapiadsmtp OCCURS 0 WITH HEADER LINE,
it_bp_email1 TYPE bapiadsmtp OCCURS 0 WITH HEADER LINE,
it_bapicomrem TYPE STANDARD TABLE OF bapicomrem WITH HEADER LINE,
it_bapicomrem_x TYPE STANDARD TABLE OF bapicomrex WITH HEADER LINE,
it_tel_x TYPE STANDARD TABLE OF bapiadtelx WITH HEADER LINE,
it_email_x TYPE STANDARD TABLE OF bapiadsmtx WITH HEADER LINE,
it_role TYPE bapibusisb990_bproles OCCURS 0 WITH HEADER LINE,
it_role_cp TYPE bapibusisb990_bproles OCCURS 0 WITH HEADER LINE.
BP Identication Details
DATA: BEGIN OF it_identification OCCURS 0,
idcategory TYPE bapibus1006_identification_key-identificationcategory,
idnumber TYPE bapibus1006_identification_key-identificationnumber,
END OF it_identification.
DATA : w_identification TYPE bapibus1006_identification.
BP Marketing Attributes
DATA : BEGIN OF it_crmt OCCURS 0,
crmt TYPE crmt_mktprof_keys-profile_template_id,
END OF it_crmt.
DATA : it_crmt1 TYPE STANDARD TABLE OF crmt_mktprof_comw WITH HEADER LINE,
it_crmt2 TYPE STANDARD TABLE OF crmt_mktprof_comw WITH HEADER LINE,
it_crmt3 TYPE STANDARD TABLE OF crmt_mktprof_comw WITH HEADER LINE,
it_crmt4 TYPE STANDARD TABLE OF crmt_mktprof_comw WITH HEADER LINE,
it_crmt5 TYPE STANDARD TABLE OF crmt_mktprof_comw WITH HEADER LINE,
it_bp_ret TYPE STANDARD TABLE OF bapiret2 WITH HEADER LINE.
BP Basic Details
DATA : v_partn_cat TYPE bapibus1006_head-partn_cat,
w_central TYPE bapibus1006_central,
w_central_x TYPE bapibus1006_central_x,
w_central_org TYPE bapibus1006_central_organ,
w_central_per TYPE bapibus1006_central_person,
w_central_group TYPE bapibus1006_central_group,
w_centralorg_x TYPE bapibus1006_central_organ_x,
w_centralperson_x TYPE bapibus1006_central_person_x,
w_centralgrp_x TYPE bapibus1006_central_group_x,
w_address TYPE bapibus1006_address,
w_addr_x TYPE bapibus1006_address_x,
v_bp TYPE bapibus1006_head-bpartner.
Declaration for Duplication Check
DATA : w_zacc_address TYPE zacc_address,
g_dup_status TYPE i.
DATA : it_dup_bp TYPE STANDARD TABLE OF zbuspartner WITH HEADER LINE.
CONSTANTS: c_pan TYPE bu_id_type VALUE 'ZID003',
c_fam_tag TYPE bu_id_type VALUE 'ZID011',
c_cust TYPE bu_id_type VALUE 'ZID009'.
Other Declarations
DATA : v_inv_type TYPE crmt_mktpfchr_atvalue, " Investor Type Code
v_file TYPE string,
v_firstname TYPE bu_nameor1,
v_filename1(14) TYPE c,
v_filename2(14) TYPE c,
v_lines TYPE int4,
v_cat TYPE bu_type,
recno TYPE int4,
loopno TYPE int4,
it_iden_ret TYPE bapiret2 OCCURS 0,
it_attr_ret TYPE bapiret2 OCCURS 0,
it_role_ret TYPE bapiret2 OCCURS 0,
wa_iden_ret TYPE bapiret2,
wa_attr_ret TYPE bapiret2,
it_iden_flag TYPE c,
it_attr_flag TYPE c,
flag_central TYPE c,
flag_addr TYPE c,
flag_bp TYPE c,
flag_suc TYPE c,
flag_exist TYPE c,
flag_exit TYPE c,
g_bp_msg TYPE string,
g_bp_msg1 TYPE string.
DATA : BEGIN OF i_success,
rec TYPE int4, "Record
name TYPE bu_nameor1, "Name
bp TYPE bapibus1006_head-bpartner, "Business Partner
END OF i_success,
it_success LIKE i_success OCCURS 0 WITH HEADER LINE,
it_upd_success LIKE i_success OCCURS 0 WITH HEADER LINE.
Data Declaration for converting spool request to PDF and to trigger mail
DATA : gd_recsize TYPE i.
Spool IDs
TYPES : BEGIN OF t_tbtcp.
INCLUDE STRUCTURE tbtcp.
TYPES : END OF t_tbtcp.
DATA : it_tbtcp TYPE STANDARD TABLE OF t_tbtcp INITIAL SIZE 0,
wa_tbtcp TYPE t_tbtcp.
Job Runtime Parameters
DATA : gd_eventid LIKE tbtcm-eventid,
gd_eventparm LIKE tbtcm-eventparm,
gd_external_program_active LIKE tbtcm-xpgactive,
gd_jobcount LIKE tbtcm-jobcount,
gd_jobname LIKE tbtcm-jobname,
gd_stepcount LIKE tbtcm-stepcount,
gd_error TYPE sy-subrc,
gd_reciever TYPE sy-subrc.
DATA : w_recsize TYPE i.
DATA : gd_subject LIKE sodocchgi1-obj_descr,
it_mess_bod LIKE solisti1 OCCURS 0 WITH HEADER LINE,
it_mess_att LIKE solisti1 OCCURS 0 WITH HEADER LINE,
gd_sender_type LIKE soextreci1-adr_typ,
gd_attachment_desc TYPE so_obj_nam,
gd_attachment_name TYPE so_obj_des.
Spool to PDF conversions
DATA : gd_spool_nr LIKE tsp01-rqident,
gd_destination LIKE rlgrap-filename,
gd_bytecount LIKE tst01-dsize,
gd_buffer TYPE string.
Binary store for PDF
DATA : BEGIN OF it_pdf_output OCCURS 0.
INCLUDE STRUCTURE tline.
DATA : END OF it_pdf_output.
DATA : v_email1 TYPE somlreci1-receiver,
v_sender TYPE somlreci1-receiver.
CONSTANTS: c_no(1) TYPE c VALUE ' ',
c_device(4) TYPE c VALUE 'LOCL',
c_delspl TYPE c VALUE 'X'.
DATA : BEGIN OF result OCCURS 0,
line(100) TYPE c,
END OF result.
DATA:i_id_tab TYPE STANDARD TABLE OF bapibus1006_id_details WITH HEADER LINE.
eliminting the error for convt page error
data: g_spl type c value ''.
eliminting the error for convt page error
Initialization
Renaming the target file daily
CONCATENATE '_' sy-datum '.txt' INTO v_filename1.
CONCATENATE '_' sy-datum '.TXT' INTO v_filename2.
START-OF-SELECTION
START-OF-SELECTION.
SELECT COUNT(*) FROM zbp_tax_status.
IF sy-subrc <> 0.
SKIP 2.
WRITE:/ text-011.
STOP.
ENDIF.
REFRESH : it_main.
Uploading the file from either presentatinon layer or application server
PERFORM file_upload.
Creating the BP number and assigning & adding up other attributes
LOOP AT it_main.
PERFORM data_fill. " Filling up global structures & variables
IF v_bp IS INITIAL.
PERFORM duplication_check. " Duplication check
ENDIF.
PERFORM bp_creation. " BP Creation
PERFORM return_fill. " Filling up Return Tables
CLEAR : v_bp, it_main, flag_exit, g_dup_status, it_identification, it_crmt, it_crmt1, it_crmt2, it_crmt3, it_crmt4, it_crmt5,
w_bp_tel,it_bp_tel,it_bp_tel1,it_bp_email,it_bp_email1,it_tel_x,it_email_x,w_addr_x,w_centralorg_x,w_centralperson_x,
w_centralgrp_x,flag_addr,flag_central,it_iden_flag,it_attr_flag,it_bapicomrem,w_central,w_central_x, v_inv_type,it_bapicomrem_x,
w_central_org,w_central_per,w_central_group,flag_bp,flag_suc,flag_exist,it_bp_ret,g_bp_msg,g_bp_msg1,v_cat,wa_attr_ret.
REFRESH :it_identification, it_crmt, it_crmt1, it_crmt2, it_crmt3, it_crmt4, it_crmt5,it_bapicomrem,
it_bp_tel,it_bp_tel1,it_bp_email,it_bp_email1,it_tel_x,it_email_x,it_bp_ret,it_bapicomrem_x.
ENDLOOP.
Downloading the file to be reprocessed to the application server
IF it_error[] IS NOT INITIAL.
PERFORM error_file_download.
ENDIF.
Constructing the Return Messages for the Job
PERFORM return_messages. " Return Message Construction
Converting the return messages into PDF file and trigerring a mail notification
IF sy-batch EQ 'X'.
PERFORM get_job_details.
PERFORM obtain_spool_id.
PERFORM convert_spool_to_pdf.
PERFORM process_email.
PERFORM trigger_email.
ENDIF.
*& Form file_upload
FORM file_upload .
Data declatration
DATA: l_filestr TYPE string.
CLASS cl_abap_char_utilities DEFINITION LOAD.
CONSTANTS: con_tab TYPE c VALUE cl_abap_char_utilities=>horizontal_tab.
REPLACE '.txt' WITH v_filename1 INTO p_file .
REPLACE '.TXT' WITH v_filename2 INTO p_file .
MOVE p_file TO v_file.
IF sy-batch EQ 'X'.
Uploading the file from application server if the job is scheduled in background
OPEN DATASET p_file FOR INPUT IN TEXT MODE ENCODING DEFAULT
eliminting the error for convt page error
IGNORING CONVERSION ERRORS REPLACEMENT CHARACTER g_spl.
eliminting the error for convt page error
IF sy-subrc = 0.
DO.
READ DATASET p_file INTO l_filestr.
IF sy-subrc <> 0.
EXIT.
ELSE.
CLEAR it_main.
SPLIT l_filestr AT con_tab INTO:
it_main-cust_id it_main-inv_type_code
it_main-insti_tag it_main-name
it_main-address1 it_main-address2
it_main-address3 it_main-city
it_main-state it_main-country
it_main-pin_code it_main-off_phone1
it_main-off_phone2 it_main-res_phone1
it_main-res_phone2 it_main-mobile
it_main-email it_main-birth_date
it_main-pan_no it_main-lob
it_main-fam_tag it_main-mod_date.
APPEND it_main.
ENDIF.
ENDDO.
ELSE.
WRITE : / 'The file',
p_file,
'is not found.'.
STOP.
ENDIF.
CLOSE DATASET p_file.
ELSE.
WRITE : / 'The Program can only be executed in the background.'.
STOP.
ENDIF.
CLEAR : l_filestr, it_main.
ENDFORM. " file_upload
*& Form data_fill
FORM data_fill .
Filling up Partner Category (v_Partn_cat) ,workarea (w_central), workarea (w_central_org) & workarea (w_central_per)
SELECT SINGLE bp_category tax_status FROM zbp_tax_status
INTO (v_partn_cat,v_inv_type)
WHERE inv_code EQ it_main-inv_type_code.
Filling up the Authorization Group
IF it_main-lob EQ 'M' AND it_main-insti_tag EQ 'N'.
w_central-authorizationgroup = 'ZMFR'.
ELSEIF it_main-lob EQ 'M' AND it_main-insti_tag EQ 'Y'.
w_central-authorizationgroup = 'ZMFI'.
ELSEIF it_main-lob EQ 'P' AND it_main-insti_tag EQ 'N'.
w_central-authorizationgroup = 'ZPMR'.
ELSEIF it_main-lob EQ 'P' AND it_main-insti_tag EQ 'Y'.
w_central-authorizationgroup = 'ZPMI'.
ELSEIF it_main-lob EQ 'A' AND it_main-insti_tag EQ 'N'.
w_central-authorizationgroup = 'ZBOR'.
ELSEIF it_main-lob EQ 'A' AND it_main-insti_tag EQ 'Y'.
w_central-authorizationgroup = 'ZBOI'.
ENDIF.
Filling up workarea (w_address)
IF it_main-address1 IS NOT INITIAL.
MOVE : it_main-address1 TO w_address-str_suppl1,
it_main-address1 TO w_zacc_address-address1,
'X' TO w_addr_x-str_suppl1 .
ENDIF.
IF it_main-address2 IS NOT INITIAL.
MOVE : it_main-address2 TO w_address-str_suppl2,
it_main-address2 TO w_zacc_address-address2,
'X' TO w_addr_x-str_suppl2 .
ENDIF.
IF it_main-address3 IS NOT INITIAL.
MOVE : it_main-address3 TO w_address-street,
it_main-address3 TO w_zacc_address-address3,
'X' TO w_addr_x-street.
ENDIF.
IF it_main-city IS NOT INITIAL.
MOVE : it_main-city TO w_address-city,
it_main-city TO w_zacc_address-city,
'X' TO w_addr_x-city.
ENDIF.
IF it_main-pin_code IS NOT INITIAL.
MOVE : it_main-pin_code TO w_address-postl_cod1,
'X' TO w_addr_x-postl_cod1.
TRANSLATE w_address-postl_cod1 TO UPPER CASE.
ENDIF.
IF it_main-country IS NOT INITIAL.
MOVE : 'X' TO w_addr_x-country.
ENDIF.
IF it_main-state IS NOT INITIAL.
MOVE: 'X' TO w_addr_x-region.
ENDIF.
Picking up Country & State Codes
SELECT SINGLE land1 FROM t005t INTO w_address-country
WHERE spras EQ 'E'
AND landx50 EQ it_main-country.
IF sy-subrc EQ 0.
SELECT SINGLE bland FROM t005u INTO w_address-region
WHERE spras EQ 'E'
AND land1 EQ w_address-country
AND bezei EQ it_main-state.
IF sy-subrc NE 0.
w_address-region = 'ZZ'.
ENDIF.
ELSE.
w_address-country = 'ZZ'.
SELECT SINGLE bland FROM t005u INTO w_address-region
WHERE spras EQ 'E'
AND land1 EQ w_address-country
AND bezei EQ it_main-state.
IF sy-subrc NE 0.
w_address-region = 'ZZ'.
ENDIF.
ENDIF.
w_zacc_address-country = w_address-country.
w_zacc_address-state = w_address-region.
Filling up the BP Role Detail
it_role-partnerrole = 'Z1INVS'.
APPEND it_role.
Finding out the BP number from the client ID
IF it_main-cust_id IS NOT INITIAL.
SELECT SINGLE partner FROM but0id INTO v_bp
WHERE type EQ 'ZID009'
AND idnumber EQ it_main-cust_id.
IF sy-subrc = 0.
SELECT SINGLE type FROM but000 INTO v_cat
WHERE partner = v_bp.
PERFORM name_processing USING v_cat.
ENDIF.
ENDIF.
IF v_bp IS INITIAL.
PERFORM name_processing USING v_partn_cat. " Processing the Name & Title depending on partner category
Filling up the Identication Number Details
IF it_main-cust_id IS NOT INITIAL. " Customer ID
it_identification-idcategory = 'ZID009'.
it_identification-idnumber = it_main-cust_id.
APPEND it_identification.
CLEAR it_identification.
ENDIF.
IF it_main-pan_no IS NOT INITIAL. " Pan Number
it_identification-idcategory = 'ZID003'.
it_identification-idnumber = it_main-pan_no.
APPEND it_identification.
CLEAR it_identification.
ENDIF.
IF it_main-fam_tag IS NOT INITIAL. " Family Tag Number
it_identification-idcategory = 'ZID011'.
it_identification-idnumber = it_main-fam_tag.
APPEND it_identification.
CLEAR it_identification.
ENDIF.
Filling up the Marketing Attributes
IF v_inv_type IS NOT INITIAL. " Tax status
it_crmt1-atname = 'TAX_STATUS'.
it_crmt1-atwrt = v_inv_type.
APPEND it_crmt1.
CLEAR : it_crmt1.
ENDIF.
IF it_main-lob IS NOT INITIAL. " Product Tag
it_crmt1-atname = 'LOB'.
IF it_main-lob EQ 'M'.
it_crmt1-atwrt = 'MF'.
ELSEIF it_main-lob EQ 'P'.
it_crmt1-atwrt = 'PMS'.
ELSEIF it_main-lob EQ 'A'.
it_crmt1-atwrt = 'BOTH'.
ENDIF.
APPEND it_crmt1.
CLEAR : it_crmt1.
ENDIF.
IF it_main-insti_tag IS NOT INITIAL. " Retail/Instituitional Tag
it_crmt1-atname = 'ORGANISATION_STRUCTURE'.
IF it_main-insti_tag EQ 'N'.
it_crmt1-atwrt = 'RETAIL'.
ELSEIF it_main-insti_tag EQ 'Y'.
it_crmt1-atwrt = 'INSTITUTIONAL'.
ELSEIF it_main-insti_tag EQ 'F'.
it_crmt1-atwrt = 'INTERNATIONAL'.
ENDIF.
APPEND it_crmt1.
CLEAR : it_crmt1.
ENDIF.
it_crmt2-atname = 'VIP'.
it_crmt2-atwrt = 'NOT CLASSIFIED'.
APPEND it_crmt2.
CLEAR : it_crmt2.
it_crmt3-atname = 'PRIORITY'.
it_crmt3-atwrt = 'NOT CLASSIFIED'.
APPEND it_crmt3.
CLEAR : it_crmt3.
it_crmt4-atname = 'CONTACTBLE'.
it_crmt4-atwrt = 'NOT CLASSIFIED'.
APPEND it_crmt4.
CLEAR : it_crmt4.
it_crmt5-atname = 'SOURCE'.
it_crmt5-atwrt = 'CAMS'.
APPEND it_crmt5.
CLEAR : it_crmt5.
it_crmt-crmt = 'CENTALISED_CLF_INV'.
APPEND it_crmt.
it_crmt-crmt = 'GENERAL_CLF_INV'.
APPEND it_crmt.
it_crmt-crmt = 'MF_CLF_INV'.
APPEND it_crmt.
it_crmt-crmt = 'PMS_CLF_INV'.
APPEND it_crmt.
it_crmt-crmt = 'SOURCE'.
APPEND it_crmt.
CLEAR it_crmt-crmt.
ENDIF.
For Return Message
recno = recno + 1.
ENDFORM. " data_fill
*& Form duplication_check
FORM duplication_check .
DATA : l_lines TYPE i.
IF v_firstname IS NOT INITIAL.
CALL FUNCTION 'ZACC_DUPLICATIONCHECK'
EXPORTING
role = 'Z1INVS'
firstname = v_firstname
pan_no = it_main-pan_no
mobile = it_main-mobile
email = it_main-email
address = w_zacc_address
partnercategory = v_partn_cat
IMPORTING
status = g_dup_status
TABLES
buspartner = it_dup_bp.
DESCRIBE TABLE it_dup_bp LINES l_lines.
IF l_lines EQ 1.
IF g_dup_status EQ 1.
READ TABLE it_dup_bp INDEX 1.
MOVE it_dup_bp-partner TO v_bp.
ELSEIF g_dup_status EQ 2.
flag_exit = 'X'.
ENDIF.
ELSEIF l_lines GT 1.
flag_exit = 'X'.
ENDIF.
ENDIF.
CLEAR : l_lines, v_firstname.
ENDFORM. " duplication_check
*& Form name_processing
FORM name_processing USING uv_cat TYPE bu_type.
IF it_main-name IS NOT INITIAL.
If category is Person
IF uv_cat EQ 1.
CALL FUNCTION 'ZGET_NAME_FROM_STRING'
EXPORTING
name = it_main-name
IMPORTING
first = w_central_per-firstname
middle = w_central_per-middlename
last = w_central_per-lastname.
w_centralperson_x-firstname = 'X'.
w_centralperson_x-middlename = 'X'.
w_centralperson_x-lastname = 'X'.
w_centralperson_x-birthdate = 'X'.
MOVE : it_main-birth_date TO w_central_per-birthdate,
w_central_per-firstname TO v_firstname.
ELSEIF uv_cat EQ 2.
If category is organisation
CALL FUNCTION 'ZGET_NAME_FROM_STRING'
EXPORTING
name = it_main-name
IMPORTING
first = w_central_org-name2
middle = w_central_org-name1
last = w_central_org-name3.
w_centralorg_x-name1 = 'X'.
w_centralorg_x-name2 = 'X'.
w_centralorg_x-name3 = 'X'.
MOVE w_central_org-name2 TO v_firstname.
ELSEIF uv_cat EQ 3.
If category is group
CALL FUNCTION 'ZGET_NAME_FROM_STRING'
EXPORTING
name = it_main-name
IMPORTING
first = w_central_group-namegroup2
middle = w_central_group-namegroup1.
w_centralgrp_x-namegroup1 = 'X'.
w_centralgrp_x-namegroup2 = 'X'.
MOVE w_central_group-namegroup2 TO v_firstname.
ENDIF.
MOVE : it_main-name+0(8) TO w_central-searchterm1,
'X' TO w_central_x-searchterm1.
ENDIF.
ENDFORM. " name_processing
*& Form bp_creation
FORM bp_creation.
DATA:l_identification TYPE bapibus1006_identification_key-identificationnumber.
BP Creation
IF v_bp IS INITIAL.
Filling up the Telephone Details
MOVE : w_address-country TO w_bp_tel-country.
IF it_main-off_phone1 IS NOT INITIAL. " Office Telephone1
w_bp_tel-r_3_user = '1'.
w_bp_tel-telephone = it_main-off_phone1.
APPEND w_bp_tel TO it_bp_tel.
CLEAR : w_bp_tel-r_3_user, w_bp_tel-telephone.
it_bapicomrem-comm_type = 'TEL'.
it_bapicomrem-langu = 'EN'.
it_bapicomrem-comm_notes = 'OFFICE PHONE1'.
APPEND it_bapicomrem.
ENDIF.
IF it_main-off_phone2 IS NOT INITIAL. " Office Telephone2
w_bp_tel-telephone = it_main-off_phone2.
APPEND w_bp_tel TO it_bp_tel.
CLEAR : w_bp_tel-telephone.
it_bapicomrem-comm_type = 'TEL'.
it_bapicomrem-langu = 'EN'.
it_bapicomrem-comm_notes = 'OFFICE PHONE2'.
APPEND it_bapicomrem.
ENDIF.
IF it_main-res_phone1 IS NOT INITIAL. " Residence Telephone1
w_bp_tel-telephone = it_main-res_phone1.
APPEND w_bp_tel TO it_bp_tel.
CLEAR : w_bp_tel-telephone.
it_bapicomrem-comm_type = 'TEL'.
it_bapicomrem-langu = 'EN'.
it_bapicomrem-comm_notes = 'RESIDENCE PHONE1'.
APPEND it_bapicomrem.
ENDIF.
IF it_main-res_phone2 IS NOT INITIAL. " Residence Telephone2
w_bp_tel-telephone = it_main-res_phone2.
APPEND w_bp_tel TO it_bp_tel.
CLEAR : w_bp_tel-telephone.
it_bapicomrem-comm_type = 'TEL'.
it_bapicomrem-langu = 'EN'.
it_bapicomrem-comm_notes = 'RESIDENCE PHONE2'.
APPEND it_bapicomrem.
ENDIF.
IF it_main-mobile IS NOT INITIAL. " Mobile Number
w_bp_tel-r_3_user = '3'.
w_bp_tel-telephone = it_main-mobile.
APPEND w_bp_tel TO it_bp_tel.
CLEAR : w_bp_tel-r_3_user, w_bp_tel-telephone.
ENDIF.
Filling up the E-Mail Details
IF it_main-email IS NOT INITIAL. " E-mail1
it_bp_email-e_mail = it_main-email.
APPEND it_bp_email.
CLEAR it_bp_email.
ENDIF.
BAPI for BP creation
CALL FUNCTION 'BAPI_BUPA_FS_CREATE_FROM_DATA2'
EXPORTING
partnercategory = v_partn_cat
centraldata = w_central
centraldataperson = w_central_per
centraldataorganization = w_central_org
centraldatagroup = w_central_group
addressdata = w_address
IMPORTING
businesspartner = v_bp
TABLES
telefondata = it_bp_tel
communicationnotes = it_bapicomrem
e_maildata = it_bp_email
roles = it_role
return = it_bp_ret.
IF v_bp IS NOT INITIAL.
flag_bp = 'X'.
ENDIF.
Commiting the transaction
PERFORM transaction_commit.
To add Identification details to BP
PERFORM add_details.
CLEAR : v_partn_cat, w_central, w_central_per, w_central_org, it_bp_tel, it_bp_email, it_role.
REFRESH : it_bp_tel, it_bp_email, it_role.
ELSE.
flag_exist = 'X'.
If BP exists,address,communication and ID details will be updated
CALL FUNCTION 'BAPI_BUPA_CENTRAL_CHANGE'
EXPORTING
businesspartner = v_bp
centraldata = w_central
centraldataperson = w_central_per
centraldataorganization = w_central_org
centraldatagroup = w_central_group
centraldata_x = w_central_x
centraldataperson_x = w_centralperson_x
centraldataorganization_x = w_centralorg_x
centraldatagroup_x = w_centralgrp_x
TABLES
return = it_bp_ret.
READ TABLE it_bp_ret WITH KEY type = 'E'.
IF sy-subrc = 0.
flag_central = 'E'.
g_bp_msg = it_bp_ret-message.
CLEAR:it_bp_ret.
REFRESH:it_bp_ret.
ELSE.
flag_suc = 'X'.
ENDIF.
PERFORM transaction_commit.
To get the existing communication details
CALL FUNCTION 'BAPI_BUPA_ADDRESS_GETDETAIL'
EXPORTING
businesspartner = v_bp
TABLES
bapiadtel = it_bp_tel1
bapiadsmtp = it_bp_email1.
LOOP AT it_bp_tel1 WHERE r_3_user = '1' OR r_3_user = ' '.
it_bp_tel-consnumber = it_bp_tel1-consnumber.
it_tel_x-updateflag = 'D'.
APPEND:it_bp_tel,
it_tel_x.
CLEAR: it_bp_tel,
it_tel_x.
ENDLOOP.
IF it_main-mobile IS NOT INITIAL .
LOOP AT it_bp_tel1 WHERE r_3_user = '2' OR r_3_user = '3'.
it_bp_tel-consnumber = it_bp_tel1-consnumber.
it_tel_x-updateflag = 'D'.
APPEND:it_bp_tel,
it_tel_x.
CLEAR: it_bp_tel,
it_tel_x.
ENDLOOP.
ENDIF.
*Updating communication details
IF it_main-off_phone1 IS NOT INITIAL. " Office Telephone1
w_bp_tel-r_3_user = '1'.
w_bp_tel-telephone = it_main-off_phone1.
it_tel_x-telephone = 'I'.
it_tel_x-updateflag = 'I'.
APPEND:it_tel_x.
CLEAR: it_tel_x.
APPEND w_bp_tel TO it_bp_tel.
CLEAR : w_bp_tel-r_3_user, w_bp_tel-telephone.
it_bapicomrem-comm_type = 'TEL'.
it_bapicomrem-langu = 'EN'.
it_bapicomrem-comm_notes = 'OFFICE PHONE1'.
APPEND it_bapicomrem.
it_bapicomrem_x-comm_type = 'I'.
it_bapicomrem_x-langu = 'I'.
it_bapicomrem_x-comm_notes = 'I'.
it_bapicomrem_x-updateflag = 'I'.
APPEND it_bapicomrem_x.
ENDIF.
IF it_main-off_phone2 IS NOT INITIAL. " Office Telephone2
w_bp_tel-telephone = it_main-off_phone2.
APPEND w_bp_tel TO it_bp_tel.
it_tel_x-telephone = 'I'.
it_tel_x-updateflag = 'I'.
APPEND:it_tel_x.
CLEAR:it_tel_x.
CLEAR : w_bp_tel-telephone.
it_bapicomrem-comm_type = 'TEL'.
it_bapicomrem-langu = 'EN'.
it_bapicomrem-comm_notes = 'OFFICE PHONE2'.
APPEND it_bapicomrem.
it_bapicomrem_x-comm_type = 'I'.
it_bapicomrem_x-langu = 'I'.
it_bapicomrem_x-comm_notes = 'I'.
it_bapicomrem_x-updateflag = 'I'.
APPEND it_bapicomrem_x.
ENDIF.
IF it_main-res_phone1 IS NOT INITIAL. " Residence Telephone1
w_bp_tel-telephone = it_main-res_phone1.
APPEND w_bp_tel TO it_bp_tel.
it_tel_x-telephone = 'I'.
it_tel_x-updateflag = 'I'.
APPEND:it_tel_x.
CLEAR:it_tel_x.
CLEAR : w_bp_tel-telephone.
it_bapicomrem-comm_type = 'TEL'.
it_bapicomrem-langu = 'EN'.
it_bapicomrem-comm_notes = 'RESIDECE PHONE1'.
APPEND it_bapicomrem.
it_bapicomrem_x-comm_type = 'I'.
it_bapicomrem_x-langu = 'I'.
it_bapicomrem_x-comm_notes = 'I'.
it_bapicomrem_x-updateflag = 'I'.
APPEND it_bapicomrem_x.
ENDIF.
IF it_main-res_phone2 IS NOT INITIAL. " Residence Telephone2
w_bp_tel-telephone = it_main-res_phone2.
APPEND w_bp_tel TO it_bp_tel.
it_tel_x-telephone = 'I'.
it_tel_x-updateflag = 'I'.
APPEND:it_tel_x.
CLEAR:it_tel_x.
CLEAR : w_bp_tel-telephone.
it_bapicomrem-comm_type = 'TEL'.
it_bapicomrem-langu = 'EN'.
it_bapicomrem-comm_notes = 'RESIDECE PHONE2'.
APPEND it_bapicomrem.
it_bapicomrem_x-comm_type = 'I'.
it_bapicomrem_x-langu = 'I'.
it_bapicomrem_x-comm_notes = 'I'.
it_bapicomrem_x-updateflag = 'I'.
APPEND it_bapicomrem_x.
ENDIF.
IF it_main-mobile IS NOT INITIAL. " Mobile Number
w_bp_tel-r_3_user = '3'.
w_bp_tel-telephone = it_main-mobile.
APPEND w_bp_tel TO it_bp_tel.
it_tel_x-telephone = 'I'.
it_tel_x-updateflag = 'I'.
APPEND:it_tel_x.
CLEAR:it_tel_x.
CLEAR : w_bp_tel-r_3_user, w_bp_tel-telephone.
ENDIF.
IF it_main-email IS NOT INITIAL.
LOOP AT it_bp_email1.
it_bp_email-consnumber = it_bp_email1-consnumber.
it_email_x-updateflag = 'D'.
APPEND:it_bp_email,
it_email_x.
ENDLOOP.
it_bp_email-e_mail = it_main-email.
it_email_x-e_mail = 'I'.
it_email_x-updateflag = 'I'.
APPEND:it_bp_email,
it_email_x.
CLEAR:it_bp_email,
it_email_x.
ENDIF.
REFRESH:it_bp_ret.
BP Change
CALL FUNCTION 'BAPI_BUPA_ADDRESS_CHANGE'
EXPORTING
businesspartner = v_bp
addressdata = w_address
addressdata_x = w_addr_x
TABLES
bapiadtel = it_bp_tel
bapicomrem = it_bapicomrem
bapiadtel_x = it_tel_x
bapiadsmtp = it_bp_email
bapiadsmt_x = it_email_x
bapicomre_x = it_bapicomrem_x
return = it_bp_ret.
READ TABLE it_bp_ret WITH KEY type = 'E'.
IF sy-subrc = 0.
flag_addr = 'E'.
g_bp_msg1 = it_bp_ret-message.
ELSE.
flag_suc = 'X'.
ENDIF.
PERFORM transaction_commit.
REFRESH it_bp_ret.
IF it_main-pan_no IS NOT INITIAL OR it_main-fam_tag IS NOT INITIAL OR it_main-cust_id IS NOT INITIAL.
Retreiving the existing Identification details
PERFORM id_get USING v_bp.
ENDIF.
PAN number addition
IF it_main-pan_no IS NOT INITIAL.
CLEAR l_identification.
MOVE it_main-pan_no TO l_identification.
TRANSLATE l_identification TO UPPER CASE.
READ TABLE i_id_tab WITH KEY identificationtype = c_pan.
IF sy-subrc = 0.
To remove existing PAN number
PERFORM id_remove USING v_bp c_pan i_id_tab-identificationnumber.
READ TABLE it_iden_ret INTO wa_iden_ret WITH KEY type = 'E'.
IF sy-subrc EQ 0.
it_iden_flag = 'E'.
ELSE.
flag_suc = 'X'.
Performing transaction commit
PERFORM transaction_commit.
ENDIF.
ENDIF.
CLEAR:it_iden_ret[],it_iden_ret.
To add new PAN number
PERFORM id_add USING v_bp c_pan l_identification.
READ TABLE it_iden_ret INTO wa_iden_ret WITH KEY type = 'E'.
IF sy-subrc EQ 0.
it_iden_flag = 'E'.
ELSE.
flag_suc = 'X'.
PERFORM transaction_commit.
ENDIF.
ENDIF.
Customer ID addition
IF it_main-cust_id IS NOT INITIAL AND ( g_dup_status = 1 ).
CLEAR l_identification.
MOVE it_main-cust_id TO l_identification.
TRANSLATE l_identification TO UPPER CASE.
READ TABLE i_id_tab WITH KEY identificationtype = c_cust.
IF sy-subrc = 0.
To remove existing Customer ID
PERFORM id_remove USING v_bp c_cust i_id_tab-identificationnumber.
READ TABLE it_iden_ret INTO wa_iden_ret WITH KEY type = 'E'.
IF sy-subrc EQ 0.
it_iden_flag = 'E'.
ELSE.
Performing transaction commit
PERFORM transaction_commit.
ENDIF.
ENDIF.
CLEAR:it_iden_ret[],it_iden_ret.
To add new Customer ID number
PERFORM id_add USING v_bp c_cust l_identification.
READ TABLE it_iden_ret INTO wa_iden_ret WITH KEY type = 'E'.
IF sy-subrc EQ 0.
it_iden_flag = 'E'.
ELSE.
flag_suc ='X'.
PERFORM transaction_commit.
ENDIF.
ENDIF.
To add marketing attributes
IF it_main-insti_tag IS NOT INITIAL AND it_main-lob IS NOT INITIAL.
PERFORM add_makt_attr .
ELSE.
it_attr_flag = 'E'.Guy,i don't regard here is anybody wanna read so much code .For more constructive answers, you would distill core question from your program.
-
How do I host multiple domains on a single Messaging Server?
How do I host multiple domains on a single Messaging Server?
<p>
To host multiple domains on one Messaging Server, use the
mailAlternateAddress attribute. If you want to host two domains
(customer1.com and customer2.com) on your server mail1.domain.com,
make sure that:
The various domains (in DNS) point to the installed mail server
(you must have the MX records that
points mail for customer1.com to mail1.domain.com and
customer2.com to mail1.domain.com)
That each person receiving mail at customer1.com and
customer2.com has an appropriate mailAlternateAddress
attribute describing the appropriate email address. For
instance, John Doe can have an email address (i.e. the value
of the 'mail' attribute for the John Doe LDAP entry) of
[email protected] and receive his mail on
[email protected] (the value of the mailAlternateAddress
attribute)
With Messaging Server 3.5, mailAlternateAddress can take the
form of @mail1.domain.com. If jdoe's mailAlternateAddress is
set to @mail1.domain.com, mail sent to [email protected]
will be delivered to [email protected]jaygatsby1123 wrote:
So what exactly am I doing with virtual hosts? There is a place for Aliases... What would I put in the "Aliases" box?
Any other host name that you want to resolve to the specified virtual host. It's quite literally an alias.
if you want www.example.com and www.example.org to end up at the same web site and you already have a virtual host — Apple refers to virtual hosts as sites — configured for www.example.com in Server.app, then you'd add www.example.org as an alias for the www.example.com virtual host (site).
Virtual hosts are implemented in a web server using some details of the HTTP or HTTPS protocol, and what the web browser (client) specified. The client gets handed an IP address or a domain name by the user, and the client then fetches the associated IP address for the target web server from the client's DNS services or local host database, and the client then connects to the IP address and passes over the text string that the user had requested — the IP address or domain name or even some local shortcut set up in the client system — via the HTTP or HTTPS protocol. The web server receives and processes this arriving text string from the client, and uses it to select which web site to render back to the web client. One subtle detail lurks here, too: the server's own DNS configuration really isn't involved in the selection of the virtual host. -
Apple Mail, IMAP messages are mangled
I have just connected to my IMAP account with Apple Mail. It appears that there is an encoding problem. (It was using Outlook for Mac before because of work obligations, but I'd really prefer to use Apple Mail.) These messages still look okay in the message view of the IMAP account through Outlook for Mac (2011 v14.2.3), but all the messages seem to mangled as far as Webmail (Roundcube) or Apple Mail (v5.2) are concerned.
I can't find any IMAP setting options in stupid Microsoft Outlook for Mac. Does anyone know if there's one in Apple Mail that might allow me to use these emails? I'm happy to provide more info, it's really bugging me.
All my messages look like this (source below as well):
€------------------------------------------
€e€c€a€u€s€e€ €s€h€e€ €h€a€s€ €n€o€ €i€n€t€e€n€t€i€o€n€ €o€f€ €d€r€i€v€i€n€g€ €t€h€e€ €v€e€h€i€c€l€e€.€
€
€
€
€ €
€
€
€
€T€h€e€r€e€f€o€r€e€ €t€h€e€ €o€n€l€y€ €d€r€i€v€e€r€ €w€i€l€l€ €b€e€ €m€e€,€ €s€o€ €w€h€y€ €c€a€n€ t€ €I€ €t€a€k€e€ €t€h€e€ €c€o€v€e€r€?€
€
€
€
€ €
€
€
€
€R€e€g€a€r€d€s€,€ €G€e€o€f€f€
€
€
€
€ €
€
€
€
€F€r€o€m€:€ €K€e€n€d€r€a€ €K€n€i€g€h€t€ €[€m€a€i€l€t€o€:€k€e€n€d€r€a€k€@€g€r€a€h€a€m€k€n€i€g€h€t€.€c€o€m€.€a€u€]€ €
€
€S€e€n€t€:€ €W€e€d€n€e€s€d€a€y€,€ €1€1€ €N€o€v€e€m€b€e€r€ €2€0€0€9€ €1€2€:€1€6€ €P€M€
€
€T€o€:€ €'€G€e€o€f€f€ €C€o€n€s€t€a€n€t€i€n€e€'€
€
€S€u€b€j€e€c€t€:€ €F€W€:€ €M€o€t€o€r€ €V€e€h€i€c€l€e€ €I€n€s€u€r€a€n€c€e€
€
€
€
€ €
€
€
€
€H€i€ €G€e€o€f€f€,€
€
€
€
€ €
€
€
€
€J€u€s€t€ €f€o€l€l€o€w€i€n€g€ €u€p€ €o€n€ €m€y€ €e€m€a€i€l€ €b€e€l€o€w€.€ €
€
€P€l€e€a€s€e€ €p€r€o€v€i€d€e€ €c€o€r€r€e€c€t€e€d€ €p€r€o€p€o€s€a€l€ €f€o€r€m€ €a€t€ €t€h€e€ €e€a€r€l€i€e€s€t€ €c€o€n€v€e€n€i€e€n€c€e€ €s€o€ €w€e€ €c€a€n€ €a€r€r€a€n€g€e€ €a€ €n€e€w€ €c€o€v€e€r€.€
€
€
€
€ €
€
€
€
€K€i€n€d€ €r€e€g€a€r€d€s€,€
€
€
€
€K€e€n€d€r€a€ €K€n€i€g€h€t€ €
€
€
€
€ €
€
€
€
€_€_€_€_€_€_€_€_€_€_€_€_€_€_€_€_€_€_€_€_€_€_€_€_€_€_€_€_€_€_€_€_€
€
€
€
€F€r€o€m€:€ €K€e€n€d€r€a€ €K€n€i€g€h€t€ €
€
€S€e€n€t€:€ €W€e€d€n€e€s€d€a€y€,€ €4€ €N€o€v€e€m€b€e€r€ €2€0€0€9€ €9€:€2€4€ €A€M€
€
€T€o€:€ €'€G€e€o€f€f€ €C€o€n€s€t€a€n€t€i€n€e€'€
€
€S€u€b€j€e€c€t€:€ €R€E€:€ €M€o€t€o€r€ €V€e€h€i€c€l€e€ €I€n€s€u€r€a€n€c€e€
€
€
€
€ €
€
€
€
€H€i€ €G€e€o€f€f€,€
€
€
€
€P€l€e€a€s€e€ €f€i€n€d€ €a€t€t€a€c€h€e€d€ €p€r€o€p€o€s€a€l€ €f€o€r€m€ €f€o€r€ €y€o€u€r€ €c€o€r€r€e€c€t€i€o€n€/€a€m€e€n€d€m€e€n€t€s€.€
€
€
€
€K€i€n€d€ €r€e€g€a€r€d€s€,€
€
€
€
€K€e€n€d€r€a€ €
€
€
€
€ €
€
€
€
€_€_€_€_€_€_€_€_€_€_€_€_€_€_€_€_€_€_€_€_€_€_€_€_€_€_€_€_€_€_€_€_€
€
€
€
€F€r€o€m€:€ €G€e€o€f€f€ €C€o€n€s€t€a€n€t€i€n€e€ €[€m€a€i€l€t€o€:€s€e€a€f€a€r€i€@€h€i€g€h€w€a€y€1€.€c€o€m€.€a€u€]€ €
€
€S€e€n€t€:€ €W€e€d€n€e€s€d€a€y€,€ €4€ €N€o€v€e€m€b€e€r€ €2€0€0€9€ €8€:€3€6€ €A€M€
€
€T€o€:€ €K€e€n€d€r€a€ €K€n€i€g€h€t€
€
€S€u€b€j€e€c€t€:€ €R€E€:€ €M€o€t€o€r€ €V€e€h€i€c€l€e€ €I€n€s€u€r€a€n€c€e€
€
€
€
€ €
€
€
€
€H€e€l€l€o€ €K€e€n€d€r€a€,€
€
€
€
€ €
€
€
€
€I€ €c€a€n€ t€ €b€e€l€i€e€v€e€ €h€o€w€ €d€i€f€f€i€c€u€l€t€ €I€ €h€a€v€e€ €m€a€d€e€ €t€h€i€s€ € €t€o€o€ €m€a€n€y€ €c€o€o€k€s€ €i€n€ €t€h€e€ €k€i€t€c€h€e€n€ €o€n€ €t€h€i€s€ €o€n€e€!€!€!€
€
€
€
€ €
€
€
€
€P€l€e€a€s€e€ €s€e€n€d€ €p€r€o€p€o€s€a€l€ €a€g€a€i€n€.€
€
€
€
€ €
€
€
€
€G€e€o€f€f€
€
€
€
€ €
€
€
€
€F€r€o€m€:€ €K€e€n€d€r€a€ €K€n€i€g€h€t€ €[€m€a€i€l€t€o€:€k€e€n€d€r€a€k€@€g€r€a€h€a€m€k€n€i€g€h€t€.€c€o€m€.€a€u€]€ €
€
€S€e€n€t€:€ €M€o€n€d€a€y€,€ €2€ €N€o€v€e€m€b€e€r€ €2€0€0€9€ €2€:€5€4€ €P€M€
€
€T€o€:€ €'€s€e€a€f€a€r€i€@€h€i€g€h€w€a€y€1€.€c€o€m€.€a€u€'€
€
€S€u€b€j€e€c€t€:€ €M€o€t€o€r€ €V€e€h€i€c€l€e€ €I€n€s€u€r€a€n€c€e€
€
€
€
€ €
€
€
€
€G€e€o€f€f€,€
€
€
€
€ €
€
€
€
€F€u€r€t€h€e€r€ €t€o€ €o€u€r€ €t€e€l€e€p€h€o€n€e€ €c€o€n€v€e€r€s€a€t€i€o€n€ €F€r€i€d€a€y€,€ €I€ €h€a€v€e€ €n€o€w€ €r€e€c€e€i€v€e€d€ €i€n€f€o€r€m€a€t€i€o€n€ €f€r€o€m€ €y€o€u€r€ €i€n€s€u€r€e€r€ €r€e€g€a€r€d€i€n€g€ €t€h€e€ €m€o€t€o€r€ €v€e€h€i€c€l€e€ €p€r€o€p€o€s€a€l€ €f€o€r€m€ €r€e€c€e€i€v€e€d€.€
€
€
€
€ €
€
€
€
€A€t€ €t€h€i€s€ €s€t€a€g€e€ €t€h€e€y€ €a€r€e€ €u€n€a€b€l€e€ €t€o€ €r€e€i€n€s€t€a€t€e€ €t€h€e€ €p€o€l€i€c€y€ €a€s€ €t€h€e€ €p€r€o€p€o€s€a€l€ €f€o€r€m€ €i€s€ €i€n€c€o€m€p€l€e€t€e€ €&€ €s€o€m€e€ €s€e€c€t€i€o€n€s€ €a€r€e€ €i€n€c€o€r€r€e€c€t€.€
€
€
€
€ €
€
€
€
€I€t€ €i€s€ €n€o€t€e€d€ €o€n€ €t€h€e€ €p€r€o€p€o€s€a€l€ €t€h€a€t€ €t€h€e€ €v€e€h€i€c€l€e€ €i€s€ €o€w€n€e€d€ €b€y€ €K€y€l€i€e€ €E€l€i€z€a€b€e€t€h€ €B€r€a€d€e€r€ €t€h€e€r€e€f€o€r€e€ €t€h€e€ €p€o€l€i€c€y€ €m€u€s€t€ €b€e€ €i€n€ €h€e€r€ €n€a€m€e€ €&€ €t€h€e€ €p€r€o€p€o€s€a€l€ €s€i€g€n€e€d€ €&€ €d€a€t€e€d€ €b€y€ €h€e€r€.€
€
€
€
€ €
€
€
€
€S€e€c€t€i€o€n€ €7€ €q€u€e€s€t€i€o€n€ €(€v€i€)€ €h€a€s€ €b€e€e€n€ €a€n€s€w€e€r€e€d€ €Y€E€S€ €b€u€t€ €n€o€ €d€e€t€a€i€l€s€ €w€e€r€e€ €s€u€p€p€l€i€e€d€ €,€ €f€u€l€l€ €d€e€t€a€i€l€s€ €r€e€q€u€i€r€e€d€?€ €(€S€p€e€e€d€i€n€g€ €f€i€n€e€s€,€ €o€n€ €t€h€e€ €s€p€o€t€ €f€i€n€e€s€,€ €t€r€a€f€f€i€c€ €c€a€m€e€r€a€ €f€i€n€e€s€ €o€r€ €a€n€y€ €o€t€h€e€r€ €m€o€t€o€r€i€n€g€ €r€e€l€a€t€e€d€ €f€i€n€e€s€ €e€x€c€l€u€d€i€n€g€ €p€a€r€k€i€n€g€)€
€
€
€
€ €
€
€
€
€C€a€n€ €y€o€u€ €p€l€e€a€s€e€ €a€d€v€i€s€e€ €d€e€t€a€i€l€s€ €a€t€ €t€h€e€ €e€a€r€l€i€e€s€t€ €p€o€s€s€i€b€l€e€ €c€o€n€v€e€n€i€e€n€c€e€ €s€o€ €I€ €c€a€n€ €a€r€r€a€n€g€e€ €f€o€r€ €a€n€ €a€l€t€e€r€n€a€t€i€v€e€ €c€o€v€e€r€ €n€o€t€e€ €t€o€ €b€e€ €p€l€a€c€e€d€?€
€
€
€
€ €
€
€
€
€T€h€a€n€k€ €y€o€u€ €&€ €k€i€n€d€ €r€e€g€a€r€d€s€,€ €
€
€
€
€ €
€
€
€
€ €
€
€
€
€
€
€K€e€n€d€r€a€ €K€n€i€g€h€t€ €A€N€Z€I€I€F€ €(€S€n€r€.€ €A€s€s€o€c€.€)€,€ €C€I€P€,€ € €D€i€p€.€ €F€i€n€.€ €S€e€r€v€ €(€B€r€o€k€)€ €Q€P€I€B€
€
€
€
€
€
€A€c€c€o€u€n€t€ €M€a€n€a€g€e€r€
€
€
€
€ €
€
€
€
€
€
€
€
€ €
€
€
€
€ €
€
€
€
€ €
€
€
€
€ €
€
€
€
€ €
€
€
€
€G€r€a€h€a€m€ €S€ €K€n€i€g€h€t€ €a€n€d€ €A€s€s€o€c€i€a€t€e€s€ €I€n€s€u€r€a€n€c€e€ €B€r€o€k€e€r€s€ €&€ €R€i€s€k€ €C€o€n€s€u€l€t€a€n€t€s€ €
€
€
€
€1€7€7€ €G€r€e€a€t€ €E€a€s€t€e€r€n€ €H€w€y€ €B€E€L€M€O€N€T€ €6€1€0€4€ €*€ € €P€O€ €B€o€x€ €1€6€0€ €B€E€L€M€O€N€T€ €6€9€8€4€
€
€
€
€P€h€:€ €0€8€ €9€4€7€8€ €1€9€3€3€ €*€ € €F€a€x€:€ €0€8€ €9€4€7€8€ €3€1€2€4€ €*€ € €E€m€a€i€l€:€ €k€e€n€d€r€a€k€@€g€r€a€h€a€m€k€n€i€g€h€t€.€c€o€m€.€a€u€ €<€m€a€i€l€t€o€:€b€i€l€l€e€@€g€r€a€h€a€m€k€n€i€g€h€t€.€c€o€m€.€a€u€>€ €
€
€
€
€W€e€b€s€i€t€e€:€ €w€w€w€.€g€r€a€h€a€m€k€n€i€g€h€t€.€c€o€m€.€a€u€ €*€ € €A€F€S€ €L€i€c€e€n€c€e€:€ €2€2€
Headers:
X-Antivirus: AVG for E-mail
Return-Path: <[email protected]>
Delivered-To: [email protected]
Received: from mx.x.com.au (mx.per.x.com.au [2x.3x.31.xx])
by mail1.per.x.com.au (Postfix) with ESMTP id 0DEA5FE4C7
for <[email protected]>; Sun, 3 Jul 2011 15:38:05 +0800 (WST)
X-ASG-Debug-ID: 1309678681-01a2066c0b186270001-JEf9es
Received: from blu0-omc1-s10.blu0.hotmail.com (blu0-omc1-s10.blu0.hotmail.com [65.55.116.21]) by mx.higx.com.au with ESMTP id DVnpUZXJcJ7N71oa for <***>; Sun, 03 Jul 2011 15:38:02 +0800 (WST)
X-Barracuda-Envelope-From: ***
X-Barracuda-Apparent-Source-IP: 6x.5x.11x.2x
Received: from BLU164-W18 ([65.55.116.8]) by blu0-omc1-s10.blu0.hotmail.com with Microsoft SMTPSVC(6.0.3790.4675);
Sun, 3 Jul 2011 00:37:59 -0700
Message-ID: <[email protected]>
boundary="_91a5ccaf-16b4-4d04-a0ae-267be2d1cb8d_"
X-Originating-IP: [12x.17x.4x.11]
From: Rxxxxxx <[email protected]>
Subject: How to Correctly hold on in a Moving Train
Date: Sun, 3 Jul 2011 15:37:59 +0800
X-ASG-Orig-Subj: How to Correctly hold on in a Moving Train
Importance: Normal
In-Reply-To:
<***>
References:
<4D62D60A29BF53D6BE5@Bindoon>,<***>
MIME-Version: 1.0
X-OriginalArrivalTime: 03 Jul 2011 07:37:59.0670 (UTC) FILETIME=[21F5E160:01CC3954]
X-Barracuda-Connect: blu0-omc1-s10.blu0.hotmail.com[65.55.116.21]
X-Barracuda-Start-Time: 1309678681
X-Barracuda-URL: http://203.34.31.15:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at highway1.com.au
X-Barracuda-Bayes: INNOCENT GLOBAL 0.0132 1.0000 -1.9348
X-Barracuda-Spam-Score: 0.22
X-Barracuda-Spam-Status: No, SCORE=0.22 using per-user scores of TAG_LEVEL=3.0 QUARANTINE_LEVEL=3.6 KILL_LEVEL=6.3 tests=HTML_FONT_SIZE_HUGE, HTML_IMAGE_RATIO_02, HTML_MESSAGE, MISSING_HEADERS, TO_CC_NONE
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.67828
Rule breakdown below
pts rule name description
1.21 MISSING_HEADERS Missing To: header
0.39 HTML_FONT_SIZE_HUGE BODY: HTML font size is huge
0.55 HTML_IMAGE_RATIO_02 BODY: HTML has a low ratio of text to image area
0.00 HTML_MESSAGE BODY: HTML included in message
0.00 TO_CC_NONE No To: or Cc: header
To: undisclosed-recipients:;
�Cc: header
To: undisclosed-recipients:;
� FONT-SIZE: 10pt"> </SPAN></FONT><FONT color=black><SPAN style="COLOR: black"> <BR> </SPAN></FONT><FONT color=black size=5><SPAN style="COLOR: black; FONT-SIZE: 18pt"> </SPAN></FONT><FONT color=black><SPAN style="COLOR: black"><IMG border=0 src="cid:5D6271D1018C4624B687BDD8543F9ABC@wayne" width=376 height=480><BR> </SPAN></FONT><FONT color=black size=2 face=Arial><SPAN style="FONT-FAMILY: Arial; COLOR: b
<Emails Edited By Host>There is something wrong there all right. I am having the same problem.
In my home imac, I leave Mail open when I leave for work. During the day I may access gmail via the web interface, read and/or delete some e-mails, that sort of quite normal things. When I come home, Mail in the iMac has not detected any of the changes.
This used to work with Tiger without any problems, Mail simply saw all the changes as one would expect. Definite regression, and it would be nice to have it fixed somehow...
Maybe you are looking for
-
hi,,, while doing MIRO im selecting the option of delivery note in PO reference feild and putting the no. there.at the time of posting its giving the error "required parameter missing when calling up module T001_SINGLE_READ"** Kindly suggest Moderato
-
With the new version 20.0 Personnas is not working, how can I get Personnas to work?
-
Set zoom and page display on open
Thought I would be able to set zoom (90%) and page display (Continuous) in Acrobat Pro Properties/Initial View before distributing my LiveCycle form, but realize now I can't. What scripting would I use in LCD ES2 9.0 document targetted for 8.0 or lat
-
How do I clear out a "stuck" app update?
I installed a couple apps from my iTunes library. The app store showed them as needing to be updated, but they kept getting stuck (little circle stops spinning). Tried Xing them them out on the pane in iTunes that shows that screen on the iPad, but n
-
How to reinstall Bridge CC after I uninstall it?
I tried to reinstall Bridge CC but i can't. There is no button for me to press install for Bridge CC.