Thursday, 2 August 2018

Is You Custom SMTP Connection Not Working in Sitecore EXM?

Most of times you follow Sitecore official documentation or community blog posts to use several features of Sitecore. But even-though after following all instructions very carefully, you end up in a unpleasant situation where the configured feature/functionality is not working.

So are you in same situation where you tried to configure Sitecore Email Experience Manager (EXM) with custom SMTP connection but still you are facing error in Test Connection?

First of all check the logs in Eds.* file to get more details where exactly the connection problem is.

In my case, below lines in log file were game changer. It gave me instant strike that my gmail account is configured for second step verification hence I was not able to connect Sitecore EXM with my custom gmail SMTP details. This could be a case with you also and that's why I wrote this post - to help you friends who caught in the same boat.

SmtpCmdResp: 534-5.7.9 Application-specific password required. Learn more at
SmtpCmdResp: 534 5.7.9 a5- v6sm1673474wmf.3 - gsmtp

So how to fix this? You would say remove second factor verification from Gmail, right? 
Well, we developer always do everything to allow our application to run :), isn't it? No, we are not going to remove second step verification from Gmail and will fix the connection issue instead.

Here are the steps:
1. Login to your Gmail account
2. Navigate to
3. In 'select app' choose 'custom', give it an random name and press generate button
4. It will generate 16 chars token.

Now copy that 16 character token and replace it with your "password" under SMTP \App_Config\Sitecore\EmailExperience\Sitecore.EDS.Providers.CustomSMTP.config file

That's it, try to test EXM connection and it should work now.

Wednesday, 27 December 2017

Is Your Sitecore Powershell RemoteAutomation Page Not Working?

Recently one of the developers at customer office contacted me as he was facing error while accessing Sitecore Powershell RemoteAutomation Webservice. After helping him to fix the issue, he notified that he couldn't find this fix on internet or may be it was difficult to find it. This encouraged me to write a quick blog post to help our awesome Sitecore community out there.

He was facing resource cannot be found error while accessing Sitecore Powershell Remote Automation page via http://[SitecoreInstance]/sitecore%20modules/PowerShell/Services/RemoteAutomation.asmx URL.

By seeing above error, one can easily say that either the page you are accessing does not exist at desired location or URL is wrong. That's what we also checked and found that page does exist and URL is also correct. 

The next thing to look into was ofcourse logs where we found below error getting logged.

Exception: System.Web.HttpException
Message: The file '/sitecore modules/powershell/services/404.htm' does not exist.

Above line of error gave some hint that while accessing RemoteAutomation.asmx page, it is trying to access 404.htm page. But 404.htm page doesn't exist and that's why it is throwing resource not found error. 

This theory makes sense, but why it is trying to access 404.htm while hitting RemoteAutomation.asmx page? 

Well, that mischief is done by your web.config file sitting under Website\sitecore modules\PowerShell\Services path.

Comment above highlighted line or create/place corresponding page to fix this error.

Now try to access your RemoteAutomation.asmx webservice and it should not complain and load fine as shown in below screen.

Hope that this may help someone to save some time!

Sunday, 17 December 2017

Tip # 8 : Sitecore Tip Of The Day!

Did you know Sitecore List Manager Import CSV Format?

If your answer is no, then you should spend a minute on this quick blog post to sharpen your Sitecore skills. But If you are aware about this then you can skip this tip and check out other interesting tips posted on this blog.

This tip is brought to you by Brijesh Patel

Sitecore List Manager is used to hold lists of contacts where these contacts can be recipients in an email campaign created in Sitecore Email Experience Manager.

The List Manager is well documented by Sitecore at

For creating a contact list you can,
1) Use List Manager: Firstly, create a list and keep on adding contacts manually. Might be a tedious task. 
2) Import from CSV: List Manager allows to add contact via a CSV file. I had a question about what can be the format of the CSV file. Brijesh Patel figured it out but would like to share it here as Sitecore Tip of The Day.

The CSV needs to have four fields,
1) Identifier: Not mandatory if email address is to be used as unique identifier
2) Email Address
3) First name
4) Last Name

The first row in a CSV file is a header and it is not imported. As List Manager allows mapping of fields any extra column defined in CSV which is not mapped will be ignored.

Liked this tip? If you have such a small and sweet Sitecore tip to share with the community then come and share here by filling this form

Stay tuned for more tips!

Sunday, 5 November 2017

Are you not able to connect SQL Server on Azure Virtual Machine?

I know that there are plenty of awesome blog posts and articles available out there to troubleshoot this issue and you might have checked most of them before landing to my blog post.

So I am not going to repeat those steps by assuming that you have already checked those steps and still you are not able to connect or access SQL Server on Azure VM via SSMS or your application.

The only step I want you to look at is TCP port setting under SQL Server Configuration Manager.

Go and set your SQL server port number under TCP/IP properties --> IPAll setting as mentioned in above screen-shot and it should fix your problem.

In my case, I tried all the steps mentioned in various blog posts and articles but still I was not able to connect my SQL Server of Azure Virtual Machine via Management Studio. After configuring above setting, I was able to connect successfully. Since I found that this step is not mentioned in most of the nice blog posts, I thought to write quick post on this.

Hope this might help someone.

Tuesday, 8 August 2017

Ways To Integrate Salesforce CRM with Sitecore

May be this is my shortest blog post ever. The purpose of this blog post is to document about the options available to integrate Sitecore with Saleforce CRM.

There are two ways to integrate Salesforce CRM with Sitecore at the time of writing this blog post.

1) Using Salesforce Connect Module 

It is free connector and available on Marketplace.

2) Using S4S Connector from FuseIT

It is paid and available at

Like others, if you are not sure which one to use then read below blog post from Adam on community portal.

Please read below article before making any choice.

Tuesday, 11 July 2017

Are you facing error "Msdn subscription are restricted from provisioning in this region" while setting up Sitecore XP1 on Azure Paas?

I found that there are lot of blog posts available on internet those helps on how to setup Sitecore XP1 on Azure Paas. But there are very few blog posts which talk about the problems/challanges you face while setting up Sitecore on Azure Paas.

In this blog post series, I am going to share those errors which I encountered while setting up Sitecore XP1 on Azure Paas.

If you are facing error like Msdn subscription are restricted from provisioning in this region while setting up Sitecore on Azure Paas, then this blog post may help you.

Now if you read above error carefully in powershell console, then  you can have a rough idea that it is related with the location/region that you have configured for your Storage Account under Azure.

Yes, the problem is the with location that you have provided in your PowerShell script. The location where you are trying to setup Sitecore may not have capabilities of all Azure featues.  Make sure that you have provided correct location where you have created all your Azure resources and have provision of all the Azure features.

I updated Powershell script and tried with East US location which worked for me.

A long story short, you have to try with the correct location in your Sitecore Azure Powershell script. That's it!

Stay tuned for few more such errors encountered during Sitecore XP1 on Azure Paas setup.

Monday, 10 April 2017

How To Use Sitecore XTM Connector For Language Translation?

Do you have multilingual site? Are you looking for a solution to translate your content into multiple languages say for example 10-15 languages?

My client has the same situation, we have a website in 16 languages and majority of pages needs to be translated into 10 languages on an average.

As there are lots of Sitecore Translation Connectors available in the market which are associated different translation agencies, client is not willing to build in-house translation team obviously.

We have found many Sitecore Translation Connector modules such as:

  • SmartLing
  • LionBridge
  • SmartClay
  • XTM
  • Many more...

[Image credit: Nikki]

Finally we opted for Sitecore XTM Connector services and configured Sitecore XTM Translation Connector in our Sitecore website.

I found that there are plenty of information available on internet about all of these Sitecore Translation Connectors but it's hard to find step by step guide on how Sitecore XTM Connector works and help content authors to translate the content in multiple languages. That's why I am writing this blog post to showcase a complete Translation journey.

First of all you can get Sitecore XTM Connector by get in touch with XTM at

Once you install Sitecore XTM Connector module in Sitecore, you will find XTM Connector module under modules folder in Sitecore Content Editor.

Step-1: Add Sitecore item/page for translation

Let's pick car-hire item for Chinese language translation. Since there is no Chinese language version available for car-hire page, you will see below screen when you switch language to Chinese in Sitecore content editor. 

Page Before Translation:

Select car-hire item from content tree and click on Add to Queue option under XTM menu. 

This will open Add to Queue pop-up dialog where you can select your desired translation languages. I want to send car-hire page for Chinese language translation, so you can see Chinese language selected in below screen.

You can keep adding multiple items in translation queue as suggested in this step.

Step-2: Send Sitecore item/page for translation

Once you have added all desired items in translation queue, you can then send all these items for translation by hitting Translate Now button sitting under XTM menu.

You will get Project ID successfully created for that chunk of items that you sent for translation. You can track this project id under XTM cloud dashboard mentioned in step - 3.

Step-3: Translation agency will get those submitted items in their XTM Cloud Dashboard

Once you submitted item(s) for translation from Sitecore using XTM Connector module, now it's time for translation agency to login XTM Cloud and start translation of submitted item/page(s).

Translation agency will now see car-hire item submitted for translation from Sitecore as shown in below figure.

Step-4: Translation agency will translate items/pages at XTM Cloud

Translation agency will now start feeding translation data in all the fields through XTM Cloud web based interface.

Step-5: Translation agency will submit items to Sitecore after translation from XTM Cloud

When pages are translated and ready to send back to Sitecore, translation agency will save and submit changes to Sitecore via XTM Cloud.

Step-5: Finally Sitecore will recieve all those translated items/pages submitted by translation agency through XTM Cloud

Now you will see Chinese language version added automatically for car-hire item in Sitecore Content Editor.

Page After Translation:

As you see in above screen car-hire page is now translated in Chinese language, and it's under XTM workflow.

If you want to look at different states of XTM worklflow, then you can find them under Workflows folder in Sitecore Content Tree.

Go ahead and open workbox to see all such items those are translated and sent back to Sitecore. You can find all such translated pages under awaiting for approval state.

You can see car-hire item which is translated in Chinese language and waiting for approval.

That's it.

Hope that you have now a clear picture of integrating Sitecore XTM Connector to help your content team to setup auto translation.

Have a happy language translation in Sitecore!