We have a production server with newsletter studio 1.3.0 licensed, and configured to send mails with port 587, SSL and authnticated.
When we send mails as "Send out a test mail", mails are sent ok with the e-mail defined in the "Sender e-mail" field.But when we do a "Test SMTP-connection" or we send mails as "Send the newsletter now", mails fail with a 5.7.1 error.
Looking at the SMTP logs we have seen that studio is trying to send mails from and to [email protected]:
235 2.7.0 Authentication successful
MAIL FROM:
08CFD7D867BDDF73;2013-02-13T16:07:07.378Z;1
250 2.1.0 Sender OK
RCPT TO:
250 2.1.5 Recipient OK
DATA
354 Start mail input; end with .
550 5.7.1 Client does not have permissions to send as this sender
We don't understand why, because when we send as "Send out a test mail" the SMTP logs are ok:
235 2.7.0 Authentication successful
MAIL FROM:
08CFD7D867BDDF6A;2013-02-13T16:06:36.877Z;1
250 2.1.0 Sender OK
RCPT TO:
250 2.1.5 Recipient OK
DATA
354 Start mail input; end with .
Tarpit for '0.00:00:00.906' due to 'DelayedAck'
250 2.6.0 <0da080bb-c54c-4884-8d99-43b12c40d31e@TTMSX01.intranet.tecnosistemi.com> [InternalId=1930343] Queued mail for delivery
QUIT
221 2.0.0 Service closing transmission channel
Using undocumented parameter "sendConnectionTestEmailsTo" we solved the "Test SMTP-connection", but we haven't found any parameter to fix when sending as a newsletter.
We have tried to install 1.3.2 trial in another development server to check if this new version corrects the problem, but it still remains.What can we do?
We have done a patch using RenderTasks that seems to work, but this should be only a temporary solution, because we will need diferent e-mails in future mailings.
using System.Net.Mail; namespace NewsletterStudio.Services.RenderTasks.Tasks { public class AddMailMessageSender : RenderTask { public override void ProcessPreRender(RenderResult renderResult, RenderTaskParameters parameters) {} public override void ProcessUniqItem(RenderResult renderResult, RenderTaskUniqItemParameters parameters) { parameters.MailMessage.From = new MailAddress("[email protected]", "Tecnosistemi"); base.ProcessUniqItem(renderResult, parameters); } } }
Okey, so are you saying that "sendConnectionTestEmailsTo" is not used when you perform an accual send out?
This is the case.
1. When you click "Send out now", NS will send a test e-mail to "[email protected]" or to the email configured in the sendConnectionTestEmailsTo-element. This is to make sure that there is a valid connection to the mail server. If this step fails the send out will be aborted.
2. The send out will be started and the email specified as the "Sender E-mail" will be used as the sender. In other words - your mail server need to allow that adress to send e-mail.
There are 3 ways to send "something" to the SMTP with newsletter studio:
Test SMTP-connection
Send out a test mail
Send the newsletter now
We configured the SMTP to use port 587, authentication, SSL and specifing that the sender must be [email protected], and the results were:
Test SMTP-connection: Error 5.7.1
Send out a test mail: OK
Send the newsletter now: Error 5.7.1
Looking at SMTP logs we saw that errors 5.7.1 were caused because the sender was not [email protected] it was [email protected] surprisingly the mail sent as "Send Out a test mail" worked OK because wes sent with [email protected].
We were able to fix "Test SMTP-Connection" setting the "sendConnectionTestEmailsTo" to [email protected] , but the only way to fix the problem in "Send the newsletter now" was to use RenderTasks to overwrite the sender e-mail.
The RenderTasks solution is a patch that doesn't allow us to define diferent senders in different newsletters, so we need to find a way that newsletter studio uses the defined email in the sender field in "Send the newsletter now".
Can you verify the version of Newsletter Studio that you are running? 1.3.0? Or is it 1.3.2?
The validation of the smtp is using the same method no matter if its "testing" the connection or "testing" before send out so there should not be any difference.
Can you send me any errors from the Umbraco log and from your smtp when trying to send without the render task?
We detected the problem in a production server with 1.3.0. Then we tried a trial 1.3.2 in a development server to check if the problem was solved, but it was still there.
We have not been able to found any error in UmbracoLog.
We can send you some SMTP logs, but we would prefer not to publish them in public. Is there any e-mail where we can send them?
If you where extremly fast to download version 1.3.2 there is a bug in that version. It only sets the Sender-property of the MailMessage and not the From-property (whish is requried) I accualy updated this whitout increasing the version number (hoping that no one had download it) =D
I'm so sorry for the problems this has introduced to you!
The bug was not present in the 1.3.0 version and it should work. Upgrading from 1.3.0 -> 1.3.2 is not that hard but there is some changes to the database schema that you need to consider and some changes to the render task API so you can't just "drop the file" in to the bin to upgrade.
The easiest way to upgrade is to just replace all files and try to fix the db-changes by hand. You could look at the schema in you testing environment to see the small changes.
In the future we're planning to make the upgrades easier.
We detected the problem in the production server with 1.3.0 dll and it is working with the RenderTask patch. It seems at least one 1.3.0 version is affected with the same problem.
Anyway we will reinstall the full product because we don't like too much the idea of copying small changes between databases.
I understand, thats the best way to go if you don't need to keep old data.
About the render task - There was some breaking changes in the 1.3.1 that effected this. We're considering using semver in the future but that was not the case in this release.
Please let me know it you have any problems with the clean install.
mails sent as [email protected] in newsletters
We have a production server with newsletter studio 1.3.0 licensed, and configured to send mails with port 587, SSL and authnticated.
When we send mails as "Send out a test mail", mails are sent ok with the e-mail defined in the "Sender e-mail" field.But when we do a "Test SMTP-connection" or we send mails as "Send the newsletter now", mails fail with a 5.7.1 error.
Looking at the SMTP logs we have seen that studio is trying to send mails from and to [email protected]:
235 2.7.0 Authentication successful
MAIL FROM:
08CFD7D867BDDF73;2013-02-13T16:07:07.378Z;1
250 2.1.0 Sender OK
RCPT TO:
250 2.1.5 Recipient OK
DATA
354 Start mail input; end with .
550 5.7.1 Client does not have permissions to send as this sender
We have done a patch using RenderTasks that seems to work, but this should be only a temporary solution, because we will need diferent e-mails in future mailings.
using System.Net.Mail;
namespace NewsletterStudio.Services.RenderTasks.Tasks
{
public class AddMailMessageSender : RenderTask
{
public override void ProcessPreRender(RenderResult renderResult, RenderTaskParameters parameters)
{}
public override void ProcessUniqItem(RenderResult renderResult, RenderTaskUniqItemParameters parameters)
{
parameters.MailMessage.From = new MailAddress("[email protected]", "Tecnosistemi");
base.ProcessUniqItem(renderResult, parameters);
}
}
}
Hi!
Okey, so are you saying that "sendConnectionTestEmailsTo" is not used when you perform an accual send out?
This is the case.
1. When you click "Send out now", NS will send a test e-mail to "[email protected]" or to the email configured in the sendConnectionTestEmailsTo-element. This is to make sure that there is a valid connection to the mail server. If this step fails the send out will be aborted.
2. The send out will be started and the email specified as the "Sender E-mail" will be used as the sender. In other words - your mail server need to allow that adress to send e-mail.
This is how it sould work. Is this not the case?
Hi Markus,
Maybe I didn't explained well.
There are 3 ways to send "something" to the SMTP with newsletter studio:
We configured the SMTP to use port 587, authentication, SSL and specifing that the sender must be [email protected], and the results were:
Looking at SMTP logs we saw that errors 5.7.1 were caused because the sender was not [email protected] it was [email protected] surprisingly the mail sent as "Send Out a test mail" worked OK because wes sent with [email protected].
We were able to fix "Test SMTP-Connection" setting the "sendConnectionTestEmailsTo" to [email protected] , but the only way to fix the problem in "Send the newsletter now" was to use RenderTasks to overwrite the sender e-mail.
The RenderTasks solution is a patch that doesn't allow us to define diferent senders in different newsletters, so we need to find a way that newsletter studio uses the defined email in the sender field in "Send the newsletter now".
Thank you for your help.
Can you verify the version of Newsletter Studio that you are running? 1.3.0? Or is it 1.3.2?
The validation of the smtp is using the same method no matter if its "testing" the connection or "testing" before send out so there should not be any difference.
Can you send me any errors from the Umbraco log and from your smtp when trying to send without the render task?
We detected the problem in a production server with 1.3.0. Then we tried a trial 1.3.2 in a development server to check if the problem was solved, but it was still there.
We have not been able to found any error in UmbracoLog.
We can send you some SMTP logs, but we would prefer not to publish them in public. Is there any e-mail where we can send them?
If you where extremly fast to download version 1.3.2 there is a bug in that version. It only sets the Sender-property of the MailMessage and not the From-property (whish is requried) I accualy updated this whitout increasing the version number (hoping that no one had download it) =D
Try to download the package again http://our.umbraco.org/projects/backoffice-extensions/newsletter-studio and just replace NewsletterStudio.dll in your bin-folder with the file from the zip-file.
If you are running 1.3.0 in production the same lic-file will give you the full version of 1.3.2 as well - it included!
I understand, please email me at markus [at signe goes here] enkelmedia.se
We have replaced the dll in the trial 1.3.2 and it worked perfectly this time.
In the production server with 1.3.0 with lic-file, do we have to replace only the dll or do we have to replace more files?
I'm so sorry for the problems this has introduced to you!
The bug was not present in the 1.3.0 version and it should work. Upgrading from 1.3.0 -> 1.3.2 is not that hard but there is some changes to the database schema that you need to consider and some changes to the render task API so you can't just "drop the file" in to the bin to upgrade.
The easiest way to upgrade is to just replace all files and try to fix the db-changes by hand. You could look at the schema in you testing environment to see the small changes.
In the future we're planning to make the upgrades easier.
We detected the problem in the production server with 1.3.0 dll and it is working with the RenderTask patch. It seems at least one 1.3.0 version is affected with the same problem.
Anyway we will reinstall the full product because we don't like too much the idea of copying small changes between databases.
Thank you for your help.
I understand, thats the best way to go if you don't need to keep old data.
About the render task - There was some breaking changes in the 1.3.1 that effected this. We're considering using semver in the future but that was not the case in this release.
Please let me know it you have any problems with the clean install.
is working on a reply...