Plugin registering the same email twice.

  • Thread starter Thread starter anindasen_0609
  • Start date Start date
Status
Not open for further replies.
A

anindasen_0609

Hi,

I have created a plugin and it is working ok but something strange is

happening. Incoming emails which have two attachments are getting recorded

twice in the database as the same email. This is the same outlook plugin for

which I created a thread on 6/5/2009 under the heading "Help with some issues

in Outlook Plugin development." Can anybody help me out on this? I am

basically taking the attachments and uploading it to the server with

(edtftpNet - free command line ftp)

after saving the email details to the server database through webservice.

Regards,

Aninda
 
There's no way to tell from what you posted what the problem is. You need to

post the relevant section of your code for people here to look at.

"anindasen_0609" <anindasen0609> wrote in message

news:76F85A12-B799-425A-9474-0970DF8CDBBF@microsoft.com...
> Hi,

> I have created a plugin and it is working ok but something strange is
> happening. Incoming emails which have two attachments are getting recorded
> twice in the database as the same email. This is the same outlook plugin
> for
> which I created a thread on 6/5/2009 under the heading "Help with some
> issues
> in Outlook Plugin development." Can anybody help me out on this? I am
> basically taking the attachments and uploading it to the server with
> (edtftpNet - free command line ftp)
> after saving the email details to the server database through webservice.

> Regards,
> Aninda
 
Here it is:

private void m_Items_ItemAdd(object addedItem)

{

Outlook.MailItem newItem = (Outlook.MailItem)addedItem;

toEmailID = userEmailID;

string fromEmailID = "";

string toAddress = null;

string ccAddress = null;

string bccAddress = null;

if (newItem.To != null)

toAddress = "";

if (newItem.CC != null)

ccAddress = "";

if (newItem.BCC != null)

bccAddress = "";

Outlook.Recipients recpts = newItem.Recipients;

if (recpts != null)

{

for (int ii = 1; ii < (recpts.Count + 1); ii++)

{

//Dim recipient As Outlook.Recipient =

recipients.Item(i)

Outlook.Recipient recpt = recpts[ii];

{

if (recpt != null)

{

if (recpt.Type == 1)

{

if

(recpt.PropertyAccessor.GetProperty(SchemaAddressType).ToString() == "EX")

{

toAddress +=

recpt.PropertyAccessor.GetProperty(SchemaSMTPAddress).ToString().Replace("'",

"") + ";";

}

else

{

toAddress +=

recpt.Address.ToString().Replace("'", "") + ";";

}

}

else if (recpt.Type == 2)

{

if

(recpt.PropertyAccessor.GetProperty(SchemaAddressType).ToString() == "EX")

{

ccAddress +=

recpt.PropertyAccessor.GetProperty(SchemaSMTPAddress).ToString().Replace("'",

"") + ";";

}

else

{

ccAddress +=

recpt.Address.ToString().Replace("'", "") + ";";

}

}

else if (recpt.Type == 3)

{

if

(recpt.PropertyAccessor.GetProperty(SchemaAddressType).ToString() == "EX")

{

bccAddress +=

recpt.PropertyAccessor.GetProperty(SchemaSMTPAddress).ToString().Replace("'",

"") + ";";

}

else

{

bccAddress +=

recpt.Address.ToString().Replace("'", "") + ";";

}

}

}

}

}

}

if (newItem.To != null)

toAddress = toAddress.Substring(0, toAddress.Length - 1);

if (newItem.CC != null)

ccAddress = ccAddress.Substring(0, ccAddress.Length - 1);

if (newItem.BCC != null)

bccAddress = bccAddress.Substring(0, bccAddress.Length - 1);

if (newItem.SenderEmailType == "EX")

fromEmailID =

(string)newItem.PropertyAccessor.GetProperty(SchemaSMTPAddress);

else

fromEmailID = newItem.SenderEmailAddress;

//If fromEmailID is not in Email format get it from GAL (Global

Address List)

if (fromEmailID.IndexOf("@") <= 0)

{

fromEmailID = GetEmailID(ref fromEmailID);

}

int fromContactID = 0;

fromContactID = (int)GetContactID(fromEmailID);

//Communication Type: 0 - Incoming 1 - Outgoing

string GUIDFolderName = Guid.NewGuid().ToString();

int newCommunicationID = 0;

ArrayList emailList = new ArrayList();

try

{

CMSService cmsServ = new CMSService();

newCommunicationID =

cmsServ.InsertCommunication(fromContactID, fromEmailID, toAddress, ccAddress,

bccAddress, newItem.Subject, newItem.HTMLBody, Convert.ToInt32(userID),

DateTime.Now, 0, newItem.Body, GUIDFolderName);

//Save attachments if any

if (newItem.Attachments.Count > 0)

{

ftpConnect();

ftp.ChDir("OutlookAttachments");

ftp.MkDir(GUIDFolderName);

ftp.ChDir(GUIDFolderName);

for (int i = 1; i <= newItem.Attachments.Count; i++)

{

newItem.Attachments.SaveAsFile(sourcePath + @"\"

+ newItem.Attachments.FileName);

ftp.Put(sourcePath + @"\" +

newItem.Attachments.FileName, newItem.Attachments.FileName);

File.Delete(sourcePath + @"\" +

newItem.Attachments.FileName);

cmsServ.InsertCommunicationAttachment(GUIDFolderName, newCommunicationID,

GUIDFolderName + @"\" + newItem.Attachments.FileName,

newItem.Attachments.FileName);

}

ftp.Quit();

}

}

catch (Exception ex)

{

string errorInfo = (string)ex.Message.Substring(0, 11);

}

}

Regards,

Aninda
wrote:


> There's no way to tell from what you posted what the problem is. You need to
> post the relevant section of your code for people here to look at.

> >

>

> "anindasen_0609" <anindasen0609> wrote in message
> news:76F85A12-B799-425A-9474-0970DF8CDBBF@microsoft.com...
> > Hi,
> > I have created a plugin and it is working ok but something strange is
> > happening. Incoming emails which have two attachments are getting recorded
> > twice in the database as the same email. This is the same outlook plugin
> > for
> > which I created a thread on 6/5/2009 under the heading "Help with some
> > issues
> > in Outlook Plugin development." Can anybody help me out on this? I am
> > basically taking the attachments and uploading it to the server with
> > (edtftpNet - free command line ftp)
> > after saving the email details to the server database through webservice.
> > Regards,
> > Aninda


>
 
I can't tell from that mess of code where you're recording the email in the

database, but if it's in the line that starts with

cmsServ.InsertCommunicationAttachment then that's inside the for loop and

will cause the same item to be inserted once for each attachment in the

email.

You really should not be using multiple dot operators with the COM

properties of Outlook items. It ends up creating invisible object variables

you can't delete or remove. Something like:

recpt.PropertyAccessor.GetProperty(SchemaAddressType).ToString() == "EX"

can end up causing you lots of problems, especially if Exchange is involved.

You should get the PropertyAccessor object, then call the GetProperty()

method on that object instead of letting an invisible PropertyAccessor

object be created. The same applies everywhere you are using multiple dot

operators.

"anindasen_0609" <anindasen0609> wrote in message

news:CB698B3D-C107-4FF4-B1E4-54041CC620EE@microsoft.com...
> Here it is:

> private void m_Items_ItemAdd(object addedItem)
> {
> Outlook.MailItem newItem = (Outlook.MailItem)addedItem;
> toEmailID = userEmailID;

> string fromEmailID = "";

> string toAddress = null;
> string ccAddress = null;
> string bccAddress = null;

> if (newItem.To != null)
> toAddress = "";

> if (newItem.CC != null)
> ccAddress = "";

> if (newItem.BCC != null)
> bccAddress = "";

> Outlook.Recipients recpts = newItem.Recipients;
> if (recpts != null)
> {
> for (int ii = 1; ii < (recpts.Count + 1); ii++)
> {
> //Dim recipient As Outlook.Recipient =
> recipients.Item(i)
> Outlook.Recipient recpt = recpts[ii];
> {
> if (recpt != null)
> {
> if (recpt.Type == 1)
> {
> if
> (recpt.PropertyAccessor.GetProperty(SchemaAddressType).ToString() == "EX")
> {
> toAddress +=
> recpt.PropertyAccessor.GetProperty(SchemaSMTPAddress).ToString().Replace("'",
> "") + ";";
> }
> else
> {
> toAddress +=
> recpt.Address.ToString().Replace("'", "") + ";";
> }
> }
> else if (recpt.Type == 2)
> {
> if
> (recpt.PropertyAccessor.GetProperty(SchemaAddressType).ToString() == "EX")
> {
> ccAddress +=
> recpt.PropertyAccessor.GetProperty(SchemaSMTPAddress).ToString().Replace("'",
> "") + ";";
> }
> else
> {
> ccAddress +=
> recpt.Address.ToString().Replace("'", "") + ";";
> }
> }
> else if (recpt.Type == 3)
> {
> if
> (recpt.PropertyAccessor.GetProperty(SchemaAddressType).ToString() == "EX")
> {
> bccAddress +=
> recpt.PropertyAccessor.GetProperty(SchemaSMTPAddress).ToString().Replace("'",
> "") + ";";
> }
> else
> {
> bccAddress +=
> recpt.Address.ToString().Replace("'", "") + ";";
> }
> }
> }
> }
> }
> }
> if (newItem.To != null)
> toAddress = toAddress.Substring(0, toAddress.Length - 1);

> if (newItem.CC != null)
> ccAddress = ccAddress.Substring(0, ccAddress.Length - 1);

> if (newItem.BCC != null)
> bccAddress = bccAddress.Substring(0, bccAddress.Length -
> 1);

> if (newItem.SenderEmailType == "EX")
> fromEmailID =
> (string)newItem.PropertyAccessor.GetProperty(SchemaSMTPAddress);
> else
> fromEmailID = newItem.SenderEmailAddress;

> //If fromEmailID is not in Email format get it from GAL (Global
> Address List)
> if (fromEmailID.IndexOf("@") <= 0)
> {
> fromEmailID = GetEmailID(ref fromEmailID);
> }

> int fromContactID = 0;
> fromContactID = (int)GetContactID(fromEmailID);

> //Communication Type: 0 - Incoming 1 - Outgoing
> string GUIDFolderName = Guid.NewGuid().ToString();
> int newCommunicationID = 0;

> ArrayList emailList = new ArrayList();

> try
> {
> CMSService cmsServ = new CMSService();
> newCommunicationID =
> cmsServ.InsertCommunication(fromContactID, fromEmailID, toAddress,
> ccAddress,
> bccAddress, newItem.Subject, newItem.HTMLBody, Convert.ToInt32(userID),
> DateTime.Now, 0, newItem.Body, GUIDFolderName);

> //Save attachments if any
> if (newItem.Attachments.Count > 0)
> {
> ftpConnect();

> ftp.ChDir("OutlookAttachments");
> ftp.MkDir(GUIDFolderName);
> ftp.ChDir(GUIDFolderName);

> for (int i = 1; i <= newItem.Attachments.Count; i++)
> {
> newItem.Attachments.SaveAsFile(sourcePath + @"\"
> + newItem.Attachments.FileName);

> ftp.Put(sourcePath + @"\" +
> newItem.Attachments.FileName, newItem.Attachments.FileName);
> File.Delete(sourcePath + @"\" +
> newItem.Attachments.FileName);

> cmsServ.InsertCommunicationAttachment(GUIDFolderName, newCommunicationID,
> GUIDFolderName + @"\" + newItem.Attachments.FileName,
> newItem.Attachments.FileName);
> }
> ftp.Quit();
> }
> }
> catch (Exception ex)
> {
> string errorInfo = (string)ex.Message.Substring(0, 11);
> }
> }

> Regards,
> Aninda
 
"I can't tell from that mess of code where you're recording the email in the

database"

-- If it is a mess can you tell me what makes you feel so and some

suggestions for improvement?

"but if it's in the line that starts with

cmsServ.InsertCommunicationAttachment then that's inside the for loop and

will cause the same item to be inserted once for each attachment in the

email."

-- As you can see if you observe a little closely that saving into the

database is not inside the for loop. The one that is getting saved inside the

loop is to the attachment details table as below:

try

{

CMSService cmsServ = new CMSService();

newCommunicationID =

cmsServ.InsertCommunication(fromContactID, fromEmailID, toAddress, ccAddress,

bccAddress, newItem.Subject, newItem.HTMLBody, Convert.ToInt32(userID),

DateTime.Now, 0, newItem.Body, GUIDFolderName);

//Save attachments if any

if (newItem.Attachments.Count > 0)

{

ftpConnect();

ftp.ChDir("OutlookAttachments");

ftp.MkDir(GUIDFolderName);

ftp.ChDir(GUIDFolderName);

for (int i = 1; i <= newItem.Attachments.Count; i++)

{

newItem.Attachments.SaveAsFile(sourcePath + @"\"

+ newItem.Attachments.FileName);

ftp.Put(sourcePath + @"\" +

newItem.Attachments.FileName, newItem.Attachments.FileName);

File.Delete(sourcePath + @"\" +

newItem.Attachments.FileName);

cmsServ.InsertCommunicationAttachment(GUIDFolderName, newCommunicationID,

GUIDFolderName + @"\" + newItem.Attachments.FileName,

newItem.Attachments.FileName);

}

ftp.Quit();

}

}

catch (Exception ex)

{

string errorInfo = (string)ex.Message.Substring(0, 11);

}

}

Your comment regarding dot operator has been noted. Thanks.

Regards,

Aninda
wrote:


> I can't tell from that mess of code where you're recording the email in the
> database, but if it's in the line that starts with
> cmsServ.InsertCommunicationAttachment then that's inside the for loop and
> will cause the same item to be inserted once for each attachment in the
> email.

> You really should not be using multiple dot operators with the COM
> properties of Outlook items. It ends up creating invisible object variables
> you can't delete or remove. Something like:

> recpt.PropertyAccessor.GetProperty(SchemaAddressType).ToString() == "EX"

> can end up causing you lots of problems, especially if Exchange is involved.
> You should get the PropertyAccessor object, then call the GetProperty()
> method on that object instead of letting an invisible PropertyAccessor
> object be created. The same applies everywhere you are using multiple dot
> operators.

> >

>

> "anindasen_0609" <anindasen0609> wrote in message
> news:CB698B3D-C107-4FF4-B1E4-54041CC620EE@microsoft.com...
> > Here it is:
> > private void m_Items_ItemAdd(object addedItem)
> > {
> > Outlook.MailItem newItem = (Outlook.MailItem)addedItem;
> > toEmailID = userEmailID;
> > string fromEmailID = "";
> > string toAddress = null;
> > string ccAddress = null;
> > string bccAddress = null;
> > if (newItem.To != null)
> > toAddress = "";
> > if (newItem.CC != null)
> > ccAddress = "";
> > if (newItem.BCC != null)
> > bccAddress = "";
> > Outlook.Recipients recpts = newItem.Recipients;
> > if (recpts != null)
> > {
> > for (int ii = 1; ii < (recpts.Count + 1); ii++)
> > {
> > //Dim recipient As Outlook.Recipient =
> > recipients.Item(i)
> > Outlook.Recipient recpt = recpts[ii];
> > {
> > if (recpt != null)
> > {
> > if (recpt.Type == 1)
> > {
> > if
> > (recpt.PropertyAccessor.GetProperty(SchemaAddressType).ToString() == "EX")
> > {
> > toAddress +=
> > recpt.PropertyAccessor.GetProperty(SchemaSMTPAddress).ToString().Replace("'",
> > "") + ";";
> > }
> > else
> > {
> > toAddress +=
> > recpt.Address.ToString().Replace("'", "") + ";";
> > }
> > }
> > else if (recpt.Type == 2)
> > {
> > if
> > (recpt.PropertyAccessor.GetProperty(SchemaAddressType).ToString() == "EX")
> > {
> > ccAddress +=
> > recpt.PropertyAccessor.GetProperty(SchemaSMTPAddress).ToString().Replace("'",
> > "") + ";";
> > }
> > else
> > {
> > ccAddress +=
> > recpt.Address.ToString().Replace("'", "") + ";";
> > }
> > }
> > else if (recpt.Type == 3)
> > {
> > if
> > (recpt.PropertyAccessor.GetProperty(SchemaAddressType).ToString() == "EX")
> > {
> > bccAddress +=
> > recpt.PropertyAccessor.GetProperty(SchemaSMTPAddress).ToString().Replace("'",
> > "") + ";";
> > }
> > else
> > {
> > bccAddress +=
> > recpt.Address.ToString().Replace("'", "") + ";";
> > }
> > }
> > }
> > }
> > }
> > }
> > if (newItem.To != null)
> > toAddress = toAddress.Substring(0, toAddress.Length - 1);
> > if (newItem.CC != null)
> > ccAddress = ccAddress.Substring(0, ccAddress.Length - 1);
> > if (newItem.BCC != null)
> > bccAddress = bccAddress.Substring(0, bccAddress.Length -
> > 1);
> > if (newItem.SenderEmailType == "EX")
> > fromEmailID =
> > (string)newItem.PropertyAccessor.GetProperty(SchemaSMTPAddress);
> > else
> > fromEmailID = newItem.SenderEmailAddress;
> > //If fromEmailID is not in Email format get it from GAL (Global
> > Address List)
> > if (fromEmailID.IndexOf("@") <= 0)
> > {
> > fromEmailID = GetEmailID(ref fromEmailID);
> > }
> > int fromContactID = 0;
> > fromContactID = (int)GetContactID(fromEmailID);
> > //Communication Type: 0 - Incoming 1 - Outgoing
> > string GUIDFolderName = Guid.NewGuid().ToString();
> > int newCommunicationID = 0;
> > ArrayList emailList = new ArrayList();
> > try
> > {
> > CMSService cmsServ = new CMSService();
> > newCommunicationID =
> > cmsServ.InsertCommunication(fromContactID, fromEmailID, toAddress,
> > ccAddress,
> > bccAddress, newItem.Subject, newItem.HTMLBody, Convert.ToInt32(userID),
> > DateTime.Now, 0, newItem.Body, GUIDFolderName);
> > //Save attachments if any
> > if (newItem.Attachments.Count > 0)
> > {
> > ftpConnect();
> > ftp.ChDir("OutlookAttachments");
> > ftp.MkDir(GUIDFolderName);
> > ftp.ChDir(GUIDFolderName);
> > for (int i = 1; i <= newItem.Attachments.Count; i++)
> > {
> > newItem.Attachments.SaveAsFile(sourcePath + @"\"
> > + newItem.Attachments.FileName);
> > ftp.Put(sourcePath + @"\" +
> > newItem.Attachments.FileName, newItem.Attachments.FileName);
> > File.Delete(sourcePath + @"\" +
> > newItem.Attachments.FileName);
> > cmsServ.InsertCommunicationAttachment(GUIDFolderName, newCommunicationID,
> > GUIDFolderName + @"\" + newItem.Attachments.FileName,
> > newItem.Attachments.FileName);
> > }
> > ftp.Quit();
> > }
> > }
> > catch (Exception ex)
> > {
> > string errorInfo = (string)ex.Message.Substring(0, 11);
> > }
> > }
> > Regards,
> > Aninda


>
 
I apologize if you thought I meant your code was messy, I was use "mess of

code" with the meaning of a "whole lot of code to look at".

I'd recommend stepping the code and seeing exactly where and when that

second entry in the database is being made. Are the attachment details table

entries also duplicated? In that case it might be worth seeing if your

procedure is being called more than once per item, more often than you

expect. You can put a Debug.WriteLine() line in that event handler that

notes that the event has fired to help you keep track of that. If that's the

case then you can use a flag to indicate that you've already handled the

event for that item.

"anindasen_0609" <anindasen0609> wrote in message

news:6442A0C6-CA81-4CB6-A919-163F942C207D@microsoft.com...
> "I can't tell from that mess of code where you're recording the email in
> the
> database"

> -- If it is a mess can you tell me what makes you feel so and some
> suggestions for improvement?

> "but if it's in the line that starts with
> cmsServ.InsertCommunicationAttachment then that's inside the for loop and
> will cause the same item to be inserted once for each attachment in the
> email."

> -- As you can see if you observe a little closely that saving into the
> database is not inside the for loop. The one that is getting saved inside
> the
> loop is to the attachment details table as below:

> try
> {
> CMSService cmsServ = new CMSService();
> newCommunicationID =
> cmsServ.InsertCommunication(fromContactID, fromEmailID, toAddress,
> ccAddress,
> bccAddress, newItem.Subject, newItem.HTMLBody, Convert.ToInt32(userID),
> DateTime.Now, 0, newItem.Body, GUIDFolderName);

> //Save attachments if any
> if (newItem.Attachments.Count > 0)
> {
> ftpConnect();

> ftp.ChDir("OutlookAttachments");
> ftp.MkDir(GUIDFolderName);
> ftp.ChDir(GUIDFolderName);

> for (int i = 1; i <= newItem.Attachments.Count; i++)
> {
> newItem.Attachments.SaveAsFile(sourcePath + @"\"
> + newItem.Attachments.FileName);

> ftp.Put(sourcePath + @"\" +
> newItem.Attachments.FileName, newItem.Attachments.FileName);
> File.Delete(sourcePath + @"\" +
> newItem.Attachments.FileName);

> cmsServ.InsertCommunicationAttachment(GUIDFolderName, newCommunicationID,
> GUIDFolderName + @"\" + newItem.Attachments.FileName,
> newItem.Attachments.FileName);
> }
> ftp.Quit();
> }
> }
> catch (Exception ex)
> {
> string errorInfo = (string)ex.Message.Substring(0, 11);
> }
> }

> Your comment regarding dot operator has been noted. Thanks.

> Regards,
> Aninda
 
Status
Not open for further replies.
Similar threads
Thread starter Title Forum Replies Date
J RightFax Outlook 2013 plugin? Using Outlook 1
M Outlook 2003 Plugin not receiving resize events Outlook VBA and Custom Forms 1
A Need help in creating a mass emailing plugin Outlook VBA and Custom Forms 1
N runtime error while loading of outlook 2003 plugin Outlook VBA and Custom Forms 1
A How can I create and install an outlook plugin as a dll? Outlook VBA and Custom Forms 3
A How can I create and install an outlook plugin as a dll? Outlook VBA and Custom Forms 3
Y Help with some issues in Outlook Plugin development Outlook VBA and Custom Forms 12
D redemption dll not registering in windows vista Outlook VBA and Custom Forms 3
I Registering custom url protocol handler that Outlook recognizes Outlook VBA and Custom Forms 2
H Macro to Delete Duplicate items in Outlook calendar where title is the same and date is the same Outlook VBA and Custom Forms 0
R Outlook 2021 Having problem setting up outlook 2021 with windows 11. I have 3 gmail accounts and I want the 3 gmail, emails to merge into the same outlook input. Using Outlook.com accounts in Outlook 0
E Outlook - eliminate same adresses from to, and bc line Outlook VBA and Custom Forms 0
O Same email address, same person, names in so many ways Using Outlook 4
B Outlook 2016 Unable to view images or logos on the outlook 2016 emails the same html code works well when i use outlook 2010 Using Outlook 0
M Outlook on 3 Computers Shows Different Total Items on Same Account Using Outlook 3
A Two Inboxes, Same Email? Using Outlook 3
R Disable conversation thread from replying of recipients in the same subject. Please help Using Outlook 0
jChambler iCloud folders in Outlook are not the same as on iCloud Using Outlook 6
glnz How set up new IMAP on Outlook-Office 365 and merge in pst from Outlook 2003 for same two email accounts? Using Outlook 5
M Same file "stuck" on top of file list in "Attach File" drop down Using Outlook 4
X Unable to send an email from one account to another on same PC Using Outlook 2
P Desktop doesn't index Outlook IMAP files, laptop Outlook does index those same IMAP files Using Outlook 2
N Move emails of same conversation to same subfolder Using Outlook 6
S Received mail as part of DL, need to auto-CC the same when replying Outlook VBA and Custom Forms 5
I get count of all emails with same conversation ID Outlook VBA and Custom Forms 2
R Shortcut for attaching the same file repeatedly Using Outlook 6
M warning for too many appointments on a same day in Outlook Using Outlook 1
A saving attachement to folder named the same as rule name Outlook VBA and Custom Forms 0
M Ensure the same inbox view across multiple outlook instances Using Outlook.com accounts in Outlook 7
L set task reminder date to same as start date (without affecting due date) Using Outlook 0
M Why delivery receipt size is same than sent email size or even larger? Using Outlook 1
C How to copy same text header to multiple emails with custom text column Using Outlook 10
D Calendar - color coded items are now the same color Using Outlook 2
K Outlook 2010 - Set the category based on category of other emails in same conversatio Using Outlook 20
B Mail on both laptop and mobile at same time Using Outlook 2
P Outlook Macro keeps running for the same messagage Using Outlook 2
M Can't open same msg file more than once at the same time in Outlook 2010 Using Outlook 7
L Delete code and commandbutton at the same time. Using Outlook 1
njs27 Start date of occurrence same as PatternStartDate Outlook VBA and Custom Forms 6
G How to let data in an account user defined field appear in the same field all related opportunities BCM (Business Contact Manager) 1
L IMAP and POP email in same Outlook system Using Outlook 1
A Use same BCM data in 2 offices BCM (Business Contact Manager) 3
A After receiving the same email 3 times, Outlook starts sending it to junk Using Outlook 1
K Help! I selected every contact and mistakenly made them all the same category Using Outlook 1
S Searching contacts across GAL and local address book at same time Using Outlook 1
D Move email to same folder as the rest of the conversation Using Outlook 1
J How to create fields that will use the same value on different record types BCM (Business Contact Manager) 2
R View two Inboxfolders at the same time in split creen Using Outlook 1
J How to Reply or Forward a message and Archive it in same step? Using Outlook 0
D ActivitiesTab in OL2000 - same functionality in OL2013? Using Outlook 1

Similar threads

Back
Top