Saturday, March 29, 2008

Error "<#5.5.2 smtp;554 5.5.2 Invalid data in message> #SMTP#" when you send attachment in your mail

Some users were receiving error <#5.5.2 smtp;554 5.5.2 Invalid data in message> #SMTP# when they sent message with attachment.

The problem is when attached document name is longer than 50 characters. Some Firewalls have header size restriction and that limit blocks this messages to be sent.

To correct this, change header limit on affected Firewall or shorten the name of the document you are sending (which is probably not good permanent solution).

******
Update #1: Default header size limit in Exchange 2007 is 64K.

Update #2: It might be the SMTP version problem. Mail is rejected with CONTENT-DISPOSITION error (overly long message header field for CONTENT-DISPOSITION) but not for all SMTP servers (same mail sent through different SMTP servers). If you send mail with attachment that has name longer than 50 characters from Exchange 2007 directly through DNS you may encounter this error, but if you send same mail from Exchange 2007 through smart host (other than Exchange) mail is delivered with no errors (possible workaround).

Update #3: There is a good article on Symantec's web site about parameters in Config.cf file. Check SMTP block/unblock possibilities.
Article:
http://service1.symantec.com/SUPPORT/ent-gate.nsf/pfdocs/2002031311321154?OpenDocument&ExpandSection=13%2C8

Update #4: "We found this was simply a matter that the message was created in Outlook "rich text" format (which embeds attachments into the message body) instead of plain text or HTML which creates attachments normally"

 

 

Some users cannot access Exchange Server 2007 Outlook Web Access after you create new mailboxes or migrate existing mailboxes

SYMPTOMS

After you create new mailboxes in a Microsoft Exchange Server 2007 environment or you migrate mailboxes from Exchange Server 2003 to Exchange 2007, some users cannot access Exchange 2007 Outlook Web Access (OWA).

When this issue occurs, these users can enter their credentials on the Forms Based Authentication (FBA) page. On the language page, these users can select their language and their time zone. However, after these users click OK, the following error message appears:

A problem occurred while trying to use your mailbox. Please contact technical support for your organization.

Request
Url: https://<cas_server>:443/owa/lang.owa
User host address: <IP address>

Exception
Exception type: Microsoft.Exchange.Data.Storage.StoragePermanentException
Exception message: There was a problem accessing Active Directory.

Call stack
Microsoft.Exchange.Data.Storage.ExchangePrincipal.Save() Microsoft.Exchange.Clients.Owa.Core.RequestDispatcher.DispatchLanguagePostLocally(OwaContext owaContext, OwaIdentity logonIdentity, CultureInfo culture, String timeZoneKeyName, Boolean isOptimized) Microsoft.Exchange.Clients.Owa.Core.RequestDispatcher.DispatchLanguagePostRequest(OwaContext owaContext) Microsoft.Exchange.Clients.Owa.Core.RequestDispatcher.PrepareRequestWithoutSession(OwaContext owaContext, UserContextCookie userContextCookie) Microsoft.Exchange.Clients.Owa.Core.RequestDispatcher.InternalDispatchRequest(OwaContext owaContext) Microsoft.Exchange.Clients.Owa.Core.RequestDispatcher.DispatchRequest(OwaContext owaContext) System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

CAUSE

This problem occurs because the discretionary access control list (DACL) inheritance is disabled on the user account in Active Directory. The Exchange Servers group must have permissions to write the msExchUserCulture attribute on the user when the language has been specified in OWA.

RESOLUTION

To resolve this problem, follow these steps:

1.

Open Active Directory Users and Computers.

2.

Click View, and then click Advanced Features.

Note To make the Security tab available at both the user level and the organizational unit level, you must enable the Advanced Features option in Active Directory Users and Computers. This option is available under the View menu.

3.

Open the properties for both the user level and the organizational unit level that the users are located in, and then locate the Security tab.

4.

Click Advanced.

5.

Make sure that the following check box is selected:

Allow inheritable permissions from the parent to propagate to this object and all child objects. Include these with entries explicitly defined here.

6.

Force Active Directory replication.

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

 

 

Wednesday, February 6, 2008

Error message when users try to log on to Outlook Web Access in Exchange 2007

Error message when users try to log on to Outlook Web Access in Exchange 2007: "A problem occurred while trying to use your mailbox"

SYMPTOMS

When users try to log on to Microsoft Office Outlook Web Access in Exchange Server 2007, they receive the following error message:

A problem occurred while trying to use your mailbox. Please contact technical support for your organization

If Show details is clicked in this error message, the call stack that is mentioned in the "More Information" section appears.

CAUSE

This issue occurs when the msExchVersion attribute is not set correctly on the user object in the Active Directory.

Exchange 2007 uses the
msExchVersion attribute to determine the version of Exchange that user objects are associated with. If the version value is less than 0.1, Exchange 2007 considers the object "read-only" and cannot write changes to the object.

Note The
msExchVersion attribute may not set correctly if you created the user's mailbox by using the Active Directory Users and Computers Microsoft Management Console (MMC) snap-in instead of by using the Exchange 2007 Management Console.

RESOLUTION

To resolve this issue, type the following command at the Exchange Management Shell prompt:

Set-Mailbox User_Name -ApplyMandatoryProperties



To verify the
msExchVersion attribute, type the following command at the Exchange Management Shell prompt:

Get-Mailbox User_Name | format-list ExchangeVersion

 

 

 

Request
Url: https://cmail.tvtc.gov.sa:443/OWA/lang.owa
User host address: 10.101.
??.??

Exception
Exception type: Microsoft.Exchange.Data.Storage.StoragePermanentException
Exception message: There was a problem accessing Active Directory.

Call stack

Microsoft.Exchange.Data.Storage.ExchangePrincipal.Save()

Microsoft.Exchange.Clients.Owa.Core.RequestDispatcher.DispatchLanguagePostLocally(OwaContext owaContext, OwaIdentity logonIdentity, CultureInfo culture, String timeZoneKeyName, Boolean isOptimized)

Microsoft.Exchange.Clients.Owa.Core.RequestDispatcher.DispatchLanguagePostRequest(OwaContext owaContext)

Microsoft.Exchange.Clients.Owa.Core.RequestDispatcher.PrepareRequestWithoutSession(OwaContext owaContext, UserContextCookie userContextCookie)

Microsoft.Exchange.Clients.Owa.Core.RequestDispatcher.InternalDispatchRequest(OwaContext owaContext)

Microsoft.Exchange.Clients.Owa.Core.RequestDispatcher.DispatchRequest(OwaContext owaContext)

System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()

System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)


Inner Exception
Exception type: Microsoft.Exchange.Data.Directory.InvalidADObjectOperationException
Exception message: Property Languages cannot be set on this object because it requires the object to have version 0.1 (8.0.535.0) or later. Current version of the object is 0.0 (6.5.6500.0).

Call stack

Microsoft.Exchange.Data.Directory.PropertyBag.set_Item(PropertyDefinition key, Object value)

Microsoft.Exchange.Data.Directory.ADObject.set_Item(PropertyDefinition propertyDefinition, Object value)

Microsoft.Exchange.Data.Directory.ADObject.StampCachedCaculatedProperties(Boolean retireCachedValue)

Microsoft.Exchange.Data.Directory.ADObject.ValidateWrite(List`1 errors)

Microsoft.Exchange.Data.Directory.Recipient.ADRecipient.ValidateWrite(List`1 errors)

Microsoft.Exchange.Data.Directory.Recipient.ADUser.ValidateWrite(List`1 errors)

Microsoft.Exchange.Data.Directory.ADSession.Save(ADObject instanceToSave, IEnumerable`1 properties)

Microsoft.Exchange.Data.Storage.ExchangePrincipal.Save()

 

Easy Resolution for all Mailbox on the Server :

 

Get-MailBox –Server ??? | Set-Mailbox -ApplyMandatoryProperties