C# - Put Email Messages In A Queue When SMTP Server Is Down?
Sep 20, 2010
I have a big problem with my SMTP server for sending emails. It's down often. At this point I am using this code:
MailMessage mailMsg = new MailMessage();
mailMsg.From = new MailAddress("fromMail@example.com");
mailMsg.To.Add("toMail@example.com");
mailMsg.Subject = "...";
mailMsg.IsBodyHtml = true;
mailMsg.BodyEncoding = Encoding.UTF8;
mailMsg.Body = "Mail";
mailMsg.Priority = MailPriority.High;
SmtpClient client = new SmtpClient();
client.Credentials = new NetworkCredential("account@gmail.com", "password");
client.Port = 456;
client.Host = "smtp.gmail.com";
client.EnableSsl = true;
client.Send(mailMsg);
But, when my SMTP server is down I want to put all the emails in a queue and when it recovers I want to send them one a time. Is there any way how to do this programatically in C#?
View 1 Replies
Similar Messages:
Dec 9, 2010
module thats available for asp.net that uses a queue to send email to an smtp server? the queue being the operative word here.. we need a proper fallback mechanism for storing any messages that can't be sent so that the send can be re-attempted later
View 1 Replies
Aug 28, 2010
I am using a smtp to send email from asp.net (C#)code. it sending some email instantly but many of email is making a queue in my Inetpub folder at local system.
View 3 Replies
Dec 15, 2010
I have a custom dead letter queue service to pick up messages from DLQ. This service picks up failed message from DLQ and tries to resend to a different end point. If the new endpoint doesn't work, it rolls back transaction. This works great. Here is the code.
{
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single,
ConcurrencyMode = ConcurrencyMode.Single,
AddressFilterMode = AddressFilterMode.Any)]
public class FDPDLQService : IFDService
{
FDPManager _fdpManager = new FDPManager();
[OperationBehavior(TransactionScopeRequired = true, TransactionAutoComplete = true)]
public void ProcessFDMessage(FDMessage message)
{
//System.Diagnostics.Debugger.Launch();
try
{
MsmqMessageProperty mqProp =
OperationContext.Current.IncomingMessageProperties[MsmqMessageProperty.Name] as MsmqMessageProperty;
// if message log required, and configured, log the incoming message
try
{
ChannelFactory<IFDPRouter> factory = new ChannelFactory<IFDPRouter>("IFDPRouter_EP");
IFDPRouter proxy = factory.CreateChannel();
string ep = proxy.GetNextEPForGivenEP(OperationContext.Current.IncomingMessageHeaders.To.ToString());
if (ep == null || ep == string.Empty)
{
throw new EndpointNotFoundException(Common.Constants.FDP_NOT_FOUND_EXCEPTION_MESSAGE);
}
// Process message with next end point available
_fdpManager.ProcessFDMessage(message, ep);
}
catch (EndpointNotFoundException enfe)
{
ExceptionManager.HandleException(enfe);
Transaction.Current.Rollback();
//throw;
}
catch (Exception ex)
{
ExceptionManager.HandleException(ex);
Transaction.Current.Rollback();
//throw;
}
}
}
}
Below is config entries.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<bindings>
<netMsmqBinding>
<binding name="DLQServiceBinding" closeTimeout="00:01:00" openTimeout="00:01:00"
receiveTimeout="00:10:00" sendTimeout="00:01:00" deadLetterQueue="Custom" customDeadLetterQueue ="net.msmq://localhost/private/FDPDLQ"
durable="true" exactlyOnce="true" maxReceivedMessageSize="65536"
maxRetryCycles="2" receiveErrorHandling="Fault" receiveRetryCount="5"
retryCycleDelay="00:30:00" timeToLive="00:01:00" useSourceJournal="false"
useMsmqTracing="false" queueTransferProtocol="Native" maxBufferPoolSize="524288"
useActiveDirectory="false">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None">
<transport msmqAuthenticationMode="WindowsDomain" msmqEncryptionAlgorithm="RC4Stream"
msmqProtectionLevel="Sign" msmqSecureHashAlgorithm="Sha1" />
<message clientCredentialType="Windows" />
</security>
<!--deadLetterQueue="System">-->
</binding>
<binding name="DefaultBinding" >
<security mode="None" />
</binding>
<binding name="FDService_EP" closeTimeout="00:01:00" openTimeout="00:01:00" deadLetterQueue="Custom" customDeadLetterQueue ="net.msmq://localhost/private/FDPDLQ"
receiveTimeout="00:10:00" sendTimeout="00:01:00"
durable="true" exactlyOnce="true" maxReceivedMessageSize="65536"
maxRetryCycles="2" receiveErrorHandling="Fault" receiveRetryCount="5"
retryCycleDelay="00:30:00" timeToLive="00:01:00" useSourceJournal="false"
useMsmqTracing="false" queueTransferProtocol="Native" maxBufferPoolSize="524288"
useActiveDirectory="false">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None">
<transport msmqAuthenticationMode="WindowsDomain" msmqEncryptionAlgorithm="RC4Stream"
msmqProtectionLevel="Sign" msmqSecureHashAlgorithm="Sha1" />
<message clientCredentialType="Windows" />
</security>
</binding>
<binding name="FDChecking_EP" closeTimeout="00:01:00" openTimeout="00:01:00"
receiveTimeout="00:10:00" sendTimeout="00:01:00" deadLetterQueue="System"
durable="true" exactlyOnce="true" maxReceivedMessageSize="65536"
maxRetryCycles="2" receiveErrorHandling="Fault" receiveRetryCount="5"
retryCycleDelay="00:30:00" timeToLive="1.00:00:00" useSourceJournal="false"
useMsmqTracing="false" queueTransferProtocol="Native" maxBufferPoolSize="524288"
useActiveDirectory="false">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None">
<transport msmqAuthenticationMode="WindowsDomain" msmqEncryptionAlgorithm="RC4Stream"
msmqProtectionLevel="Sign" msmqSecureHashAlgorithm="Sha1" />
<message clientCredentialType="Windows" />
</security>
</binding>
</netMsmqBinding>
<netNamedPipeBinding>
<binding name="Teletrac.EFX.Interfaces.FDService.IFDPRouter" />
</netNamedPipeBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="DLQServiceBehaviour">
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service name="Teletrac.Customer.Services.FDPDLQService.FDPDLQService" >
<endpoint address="net.msmq://localhost/private/FDPDLQ" binding="netMsmqBinding"
contract="FDPServiceRef.IFDService"
bindingConfiguration="DefaultBinding"></endpoint>
</service>
</services>
<client>
<endpoint address="net.msmq://localhost/private/fdmessageQueue"
binding="netMsmqBinding" bindingConfiguration="DLQServiceBinding"
contract="FDPServiceRef.IFDService" name="FDService_EP" />
</client>
</system.serviceModel>
</configuration>
This works great.
But if all endpoints are not available for a long period of time, and if service rolls message back to the DLQ for a long period of time, after a certain period of time service stops picking up messages from DLQ. I am not sure which configuration is responsible for this.
View 2 Replies
Nov 22, 2010
While i was writing a piece of code in C# using ASP.NET i needed to create a message queue to store fault messages. However, I couldn't find the System.Messaging namespace in the namespace library in Visual Studio 2010. Does anyone know how can I use message queuing now?
View 1 Replies
May 11, 2010
I want to send email without declare username and password in smtp server. I am using asp.net c#, this is possible in asp below is the code , anybody tell me how can i use this code in asp.net.
<%
Dim ObjSendMail
Dim iConf
Dim Flds
Set ObjSendMail = Server.CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")....
View 5 Replies
Mar 20, 2010
I want to email panel content using SMTP Server.
View 12 Replies
Nov 21, 2011
I want to send emails using SMTP server in ASP.Net. I amusing C#
View 1 Replies
Sep 1, 2010
I have the following form and trying to click a button and email through an SMTP server.
[Code]....
Code behind:
[Code]....
Web.config file:
[Code]....
View 9 Replies
Mar 15, 2010
I have configured gmail's free smtp server for my web app and previously I was using smtp server configured at the server.
So I have changed my smtp settings accordingly but my app isn't sending any email and giving me error connection time out, third party tool isn't responding after many retrials.
Here are my settings-
SmtpClient smtpClient = new SmtpClient("mail.MyWebsiteDomainName.com", 25);
smtpClient.Credentials = new System.Net.NetworkCredential("info@MyWebsiteDomainName.com", "myIDPassword");
smtpClient.UseDefaultCredentials = true;....
View 8 Replies
May 27, 2010
SMTP is a whole new ballgame for me, but I am reading up on it.
I am attempting to send email from my EC2 instance using GoDaddy's SMTP server. My domain name is registered through GoDaddy and I have 2 email accounts with them.
I can successfully send the email from my dev box no problem.
my web.config
[code]....
I have a feeling I'm just missing something fundamental. I also have a feeling someone is going to recommend I use AuthSmtp or something similar, I'll agree, and have had wasted the past 6 hours
View 2 Replies
Jan 7, 2010
i want to send an email using authenticate smtp server with port number(For Example SMTP Server is :
192.168.0.8 and port : 587).
i got lots of example but failed to find smtp server with port number using authentication.
View 4 Replies
Aug 1, 2010
I'm having trouble sending messages through ASP. I'm using the same settings I'm using on another Web App sitting on the same server in the same network, and trying to send through the same Exchange Server.
[Code]....
They work fine for the one app, but the other app gives me a relay error. Could this be because I'm using it on a separate domain? The one that works is "visitmychurch.tv" the other is "insidehcc.com".
View 6 Replies
Apr 14, 2010
once user answers security question and clicks submit that you can then re direct them to a new page and display their password on screen? rather than send an email?
View 1 Replies
Apr 1, 2010
I have my code here, it works fine from my home, where my user is administrator, and I am connected to internet via a cable network.
But, problem is when I try this code from my work place, it does not work. Shows error:
"unable to connect to the remote server"
From a different machine in the same network:
"A socket operation was attempted to an unreachable network 209.xxx.xx.52:25"
I checked with our network admin, and he assured me that all the mail ports are open [25,110, and other ports for gmail].
Then, I logged in with administrative privilege, there was a little improvement, it did not show any error, but the actual email was never received.
note that, the code was tested from development environment, visual studio 2005 and 2008.
try
{
MailMessage mail_message = new MailMessage("xxxxx@y7mail.com", txtToEmail.Text, txtSubject.Text, txtBody.Text);
SmtpClient mail_client = new SmtpClient("SMTP.y7mail.com");
NetworkCredential Authentic = new NetworkCredential("xxxxx@y7mail.com", "xxxxx");
mail_client.UseDefaultCredentials = true;......
View 4 Replies
Jan 12, 2011
i'm trying to send email through gmail account
i get this error:
The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.5.1 Authentication Required. Learn more at
web config is like below:
[Code]....
and my code :
[Code]....
View 4 Replies
Aug 18, 2015
I want to send a email without using gmail domain but its giving errorĀ given below...
The SMTP server requires a secure connection or the client was not authenticated. The server response was: Relaying not allowed - sender domain not local
View 1 Replies
Nov 23, 2010
I have a section of code that sends email from SMTP server.
The code is carried out webservice & smtp server value is picked up from web.config, while the code hosted on server1 works (send/receive emails), whereas the same code hosted in server2 doesn't send/receive email.
View 2 Replies
Nov 5, 2010
The question: Is it possible to configure multiple SMTP servers or update the SMTP object server information at runtime?
Description of problem: The site I'm working on has a few pages which send emails. Our site is using Gmail so even though it's a custom domain our email is sent out though Gmail SMTP servers.
Some emails come from the system and some emails come from users in certain groups. I have an SMTP server configured with the admin email for the system e.g. admin@mysite.com This works fine and when I get the email it shows from admin@mysite.comOne of our user groups let's call it "groupA" has an email configured on our domain i.e. groupA@mysite.com When I send the email and specify a from address for the MailMessage object as groupA@mysite.com it still shows up in my outlook as coming from admin@mysite.com I did a little further testing and if I specify both the from address and the ReplyTo as groupA@mysite.com it will show as From=admin@mysite.com but when I choose reply in outlook it shows groupA@mysite.com My best guess is that Gmail is overwriting the From address with the SMTP user to prevent email spoofing.
I found this: http://www.systemnetmail.com/faq/4.1.aspx but it won't work for me since group A, B, and C all need to send emails from the same page.
View 1 Replies
Apr 11, 2010
I can find loads of posts about codes to send emails using smtp, but I've got a problem. I want to send a registration mail to a user that has made a new account on my site, so he can activate it by clicking on a link in the mail. Only problem is: I need to use an smtpserver but I don't know which smtpserver i can use, so the mail is never sent!
[Code]....
This is my code below:
the code of the aspx page:
[Code]....
My web.config:
[Code]....
View 14 Replies
Feb 18, 2011
I have created a community portal, in which user creates his/her account. After successfull registration a confirmation mail is send on registered email address.
I am using the following code to send the mail -
[Code]....
While testing we found that all the confirmation mails are going to SPAM folder instead of Inbox.
Is there anything wrong with the code or is there anything related to security.
View 3 Replies
Dec 21, 2010
Currently i'm developing an apllication that sends sms via the asp.net. I'm using msmq for the queuing incase of multiple sending of sms. The wcf will then check for new queue and using teh queue to send out a sms. I've a few question.How do i create a new queue for the msmq via asp.net
View 1 Replies
May 6, 2010
Does anyone know a way I can programatically access an email and any attachment for emails sitting in the IIS SMTP queues using .NET?
View 1 Replies
Oct 15, 2010
I have a ASP.Net website in which an email has to be sent to user with an excel attached if the user requests.
The user provides the email address, when click on a button to send report, an excel report with the result set should be attached to the email and sent to user.
The excel report will be saved on the server and through SMTP, I'm senidng the report in email. After the email is sent I should delete the excel file created on the server.When I'm trying to delete I get the error, the file is being used by SMTP object (other process).
Is there a way that I can delete this file after the email is sent?
View 2 Replies
Mar 29, 2011
I have this web application (LAN) that sends an email when users registers to one of our events.
The code is pretty straightforward:
[code]....
The application sends the email without problems. The issue is that somehow a third person is enlisted in the cc, and receives a copy of the email!. What could be the problem? The smtp? IIS?
View 2 Replies