I'm working on a service that gathers statistics for sending mail. Is there a way when Exim does notify external service that he successfully (or failed) send mail and target smtp service confirmed receiving the message using http postback?
Or may be here is exists other workarounds to get such kinds of notifications?
You can tail -F /path/main.log | parser | notifier if you want.
parser and notifier are tools of your choice.
Related
In my setup I have a mqtt.js client which publishes to a mosquitto broker (qos: 2). Now I have the problem that some messages are silently dropped by mosquitto because the client is unauthorized to publish to that specific topic. In this stackoverflow question it is said that it is not possible to recognize that as client because that would be a security issue. However it seems that mosquitto sends a "not-authorized" reason code in the PUBREC message. Wouldn't it be possible for the client to still get the info that it can not publish to that topic? What am I getting wrong?
You might be able to parse it out of the PUBREC packet yourself by registering an packetreceive callback
client.on('packetreceive', function(packet){
})
I read the MQTT-SN spec and I am unsure if it also can support the request-response pattern. Does anyone know ?
Trying to implement something like this...
http://www.steves-internet-guide.com/mqttv5-request-response/
Where the MQTT v5 publish command can specify the response-topic as seen in the MQTT v5 spec here:
https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html
4.10.1 Basic Request Response (non-normative)
Request/Response interaction proceeds as follows:
An MQTT Client (the Requester) publishes a Request Message to a topic. A Request Message is an >Application Message with a Response Topic.
Another MQTT Client (the Responder) has subscribed to a Topic Filter which matches the Topic Name >used when the Request Message was published. As a result, it receives the Request Message. There could >be multiple Responders subscribed to this Topic Name or there could be none.
The Responder takes the appropriate action based on the Request Message, and then publishes a >Response Message to the Topic Name in the Response Topic property that was carried in the Request >Message.
In typical usage the Requester has subscribed to the Response Topic and thereby receives the >Response Message. However, some other Client might be subscribed to the Response Topic in which case the >Response Message will also be received and processed by that Client. As with the Request Message, the >topic on which the Response Message is sent could be subscribed to by multiple Clients, or by none.
The MQTT-SN spec is here
http://mqtt.org/new/wp-content/uploads/2009/06/MQTT-SN_spec_v1.2.pdf
It is just written differently and I cannot tell if this feature is supported.
Ultimately, for certain messages, I need to have a response which cannot be left to the pub/sub fire and forget pattern. MQTT-SN v1.2 is required for the connection since it goes over BLE and cannot support TCP/IP and so no regular MQTT v5.
I suppose I could just make up a "Response Topic" field to put into the payload of the request which the receiving client can process and respond to. But, does the MQTT-SN v1.2 spec already support it ?
No, MQTT-SN v1.2 does not include the features added to MQTT in v5.
As you said, there is nothing to stop you including your own response topic field in the message payload.
I'm testing the Mandrill API and sent an email to my GMail account. In the API logs, it says:
"status": "queued"
According to https://mandrill.zendesk.com/hc/en-us/articles/205582717-Why-does-a-delivered-message-say-queued- :
most times Mandrill can send email much faster than recipient servers
are able to accept or process it
GMail is not able to handle my one email that I sent?
A queued response in the Mandrill API is not the same as a queued response from a recipient server.
When you send a message through Mandrill, you first relay it to Mandrill, Mandrill processes it, and then Mandrill relays it to the recipient server. This all happens quite quickly, but the two relaying steps are separate and distinct. The KB article you've linked to is providing additional details on that last step, relaying to recipient servers, not a queued status for the Mandrill API.
There are a number of reasons the Mandrill API may respond with queued including if you've added attachments or if you're sending to a bunch of recipients in a single API call.
Without seeing the actual API call that's being made, it's hard to say why you're getting a queued response. But if you're using the sample messages/send API call, you'll want to remove all of the optional parameters that you're not actually setting. For example, the sample has fake attachments, and a subaccount specified. The attachment will cause the call to be processed async. The subaccount probably doesn't exist, and would then cause the call to fail. So if that's the case, try removing all of those optional params. If not, please provide the API call you're making with sensitive data redacted (API key, actual email addresses).
The reason might be either hourly/monthly quota is over or you are using same multiple accounts for single public ip server.
I want to use SendGrid to receive emails. Here is my scenario.
User A will send an email from user-a#example.com to User B at user-b#example.org
I've setup a rule so that emails received by User B are forwarded to c#example.net.
example.net is my domain and I have configured example.net in SendGrid to point to an MVC controller which will process the JSON posted by SendGrid.
Is this possible? I was able to receive one email but after that it stopped working. What went wrong? Can any one help me out?
The problem was solved via a different channel. The resolution can be found here: https://community.sendgrid.com/sendgrid/topics/receiving_forwarded_mails_send_grid
Through using a number of debug tools, including RequestBin and Runscope, the user found there was an error in their controller, rather than an error in forwarding or message parsing.
We were able to debug and find the problem which as you predicted was with our controller.
We are still testing by sending mails from various domains but have not come across any mail that is getting lost.
— saurabh abhyankar, May 22nd 10:53 AM GMT
I have application that needs to send emails and sms text messages. It sends emails just fine, but when I try to send text messages using email gateways (for verizon, xxxyyyzzzz#vtext.com) I get nothing. I have texted the phone using though the email gateway using my gmail account, so I know it works. I would just think that from my app's point of view I am just sending out another email. Any idea why this doesn't work? Or what I can do to troubleshoot it?
I should also note that I am doing this from a Rails app on my local computer...not that it should matter.
Maybe Verizon has software that can identify emails sent from software rather than humans, and rejects yours?
Try making your software add all the same headers (eg. X-Mailer) that a normal email client would add.
Verizon could be doing a reverse DNS query as a simple spam check. Your ISP's info could show up during this look up instead of the return address info that your email message contains, and thus could be getting blocked.
To troubleshot this make sure that the return e-mail address that you are using is coming from an ISP e-mail account.
Here is how to debug it on Linux. Run your Rails application server with strace:
strace -s99999 -e connect,read,write,close -o strace.log script/server
Then examine strace.log and see exactly which SMTP server the Rails application connects to, and what it reads and writes.
Then do the same with your favorite mail client (recommended: mutt, because Thunderbird is slow in strace).
Try to send exactly the same bytes from Rails what your mail client sends.
I have used SMS_Fu in the past to send out text messages. It has worked wonderfully.
I have written a client app for Ruby for sending SMS, please see http://freebiesms.blogspot.com/2009/07/send-free-sms-from-ruby.html to download
complete source code.
Regards
Dan