Is there anyway to tell the SMTP service to stop trying to resend an e-mail that has been tried / failes x amount of times ? I can't find anything in the delivery tab to speicify this. Just curious if there is another way.
I found it. Expiration Timeout. I was thinking that was something differnt.
Related
When configuring OMS you can specify, whether it's a debugging server or not. I marked it as one, but I couldn't find any information about that mark. I can check it manually and do not send emails when I'm on debugging server...
mail_values = template.with_context(context).generate_email(self.id)
mail = self.env['mail.mail'].create(mail_values)
IrMailServer = self.env['ir.mail_server'].search([], order='sequence desc')[0]
if not IrMailServer.smtp_debug:
mail.send()
But is there any better possibility to do so? Or maybe it's already implemented somewhere, and I couldn't find it?
This flag is used for showing more debugging information in the Odoo logfile. Your Odoo server has to be configured with log level "debug" to show these information.
With this conditions you will see the SMT protocol (SMTP) messages in your Odoo log, which makes it much easier to find out about problems sending emails from Odoo.
It's not a test mode! You will really send emails with this settings.
I've got a puzzling qmail situation (at least to me, but I am not a qmail expert, this is a work-related issue that I'm looking at by default...)
There are about a dozen emails sent to a particular address that have been in the qmail queue on our mailserver for 2 days. In the logs I see each delivery attempt ends with
delivery NNNN: deferral: Connected_to_XXX.XXX.X.XX_but_connection_died._Possible_duplicate!_(#4.4.2)/
All this time, literally thousands of other emails to the exact same address are being sent successfully. There's nothing I can see about the dozen failed messages that is different, although that is the only logical explanation I can think of.
The destination host (XXX.XXX.X.XX) is a machine on our own internal network.
Any suggestions on what I could check? Any way to get additional details on what happened to cause 'connection died'? E.g., perhaps the email server at the destination rejected the messages due to some particular content?
Any suggestions will be much appreciated.
it is possible that the mail is looping.
If the mail header contains "Delivered To:" line then qmail-local usually gives a deferral.
Also check the destination server for any logs, if multiple copies of same mail are been hit there for any random reasons.
In an effort to keep us from being labeled spammers by major ISPs (in addition to SPF records, privacy policies, CANSPAM compliance and the like) - I wanted to limit the amount of mail we send out an hour.
Is this possible in W2K3 SMTP server? I was looking at outbound connection properties in the SMTP virtual server config screens...It's just not that clear if tinkering with those settings are going to do what I want.
In a nutshell, I'd love mail being sent by this server to queue up and send for example, 5,000 messages every 10 minutes or so.
Is this possible?
So, I found out what I wanted - in case others look for it.
I'm using the config settings for ASPNET to drop the mail into a different pickup directory on the server (rather than the default Queue directory). Then I can simply use a scheduled task to check the pickup directory every 30 minutes or so and copy N number of messages to the SMTP Queue directory...Where they will be picked up and mailed. The configuration section/settings is:
<system.net>
<mailSettings>
<smtp deliveryMethod="SpecifiedPickupDirectory">
<specifiedPickupDirectory pickupDirectoryLocation="C:\YOUR_CUSTOM_PICKUP_DIR" />
</smtp>
</mailSettings>
</system.net>
What are you suign to send the mail, As far as i know i dont think you can set the sending server, But if you have some code which puts the mail together you could just put the send function on a timer.
5000 email every 10 mins is still going to get you marked as SPAM though after a few days. as thats close to 1 million emails a day.
We have a memory intensive processing for certain functionality and we would like to limit the number of parallel requests to this processing. We are able to configure by using "Work Managers" in WebLogic and putting a limit on the number of threads for that servlet.
For example, if we put maximim thread limit as 3, then if there are 10 parallel requests; 7 requests are in queue. There could be situations where these the requests waiting in queue could take up to 30-40 minutes to be processed. We did simple testing and the received page cannot be displayed due to timeout after 15 mins and received the message after 1 hour.
Does any one know if there is a setting in WebLogic to increase/decrease timeout and avoid page cannot be displayed?
Appreciate if any one has any thoughts around this.
Does any one know if there is a setting in WebLogic to increase/decrease timeout and avoid page cannot be displayed?
There might be something but I actually didn't check as it would be a bad advice anyway. By looking for this, you are trying to solve the wrong problem here. A browser is just not made for long-running process like the one you are describing (>30mn) even if you don't mind the user waiting (not mentioning that he could refresh the page and queue more and more jobs).
So, the right answer here is in my opinion: use asynchronism, this is the perfect use case. When the user clicks on the button, send a JMS message to a queue (or create a Quartz job) and send the user a page with a request ID telling him to come back later. When the processing is done, update the status somewhere and make the status/result available to the user. Really, the user experience will be better doing this and you'll face less problems than with a browser.
1) Use some other tool (not browser) like WGET where you can control timeout parameter (--timeout).
2) Why do you use HTTP? Use message driven beans and send message JMS to that and don't care about time outs.
Perhaps quartz can do what you need? Start a job and check in on it as you need to?
I have a bunch of message on an outgoing MSMQ that have been addressed incorrectly due to a typo. They are stuck on the outgoing queue since the box they have been directed at does not exist.
The name of the queue is of the form
DIRECT=OS:foo\private$\MyQueue and is in state Waiting to connect
and I want to send to
DIRECT=OS:bar\private$\MyQueue
Will an entry in the hosts file suffice, or if not is there any other way that I can go this? I don't want to have to create a server called and a process that recieves the messages and forwards them on to the correct server if at all possible
I tried the idea I suggested above of adding the incorrect entry into the Hosts file with the correct IP address. This caused the messages to get dispatched to the remote computer, but I think WCF dropped them as they didn't have the correct endpoint adress.
Not recommended if you don't want to lose the messages! Fortunately for me these were not critical, so it was worth a try.
Oh well
Modan,
I experienced something similar years ago and the only way I could find was to setup the box and Q (in a VM) and forward them to correct queue. Maybe you can delete and resend the messages with the fix? Is that possible? Unfortunately don't think there's a good way around this.
-Bryan