Increase number of recipient in single mail in postfix delivery agent - postfix-mta

I need to increase the number of recipient send in a single mail in postfix at the time of delivery. When I send a mail with more than 50 recipients the postfix delivery agent split the recipient into a group of 50. For example, if one mail has 100 recipients it will split the delivery in 2 with each 50 recipients i.e. 50*2=100.
I want the mail should not split and go in a single mail without spliting in half.
I tried the postfix setting of uucp_destination_recipient_limit but the same is not working. Can any body help me out to resolve this issue.
Regards,
Sandeep Patel
I tried almost all the postfix setting ut non of them worked for me. I thing i might be doing some thing wrong.

Related

Why SMS sending is failing using plivo in R?

I am trying to use R script to send SMS internationally. I am using correctly Auth ID and Token, both numbers are verified. But I haven't bought any number from "Plivo". Is this the reason my message is not sent?
The code is getting compiled without any error. But no SMS is sent or received. I am sharing my code below:
#!/usr/bin/env Rscript
library(httr)
AUTH_ID="**************"
AUTH_TOKEN="**************************"
message<-"Eddie is confirming the message"
url="https://api.plivo.com/v1/Account/**************/Message/"
POST(url,authenticate(AUTH_ID,AUTH_TOKEN),body=list
(src="+966123456789",dst="+4912345678910",text=message))
Can anybody please tell me that what could be the possible reasons that why message sending is not happening even the source code is correct?
But I haven't bought any number from "Plivo"
The answer is:
To send an SMS with Plivo, you need a Plivo bought number.
Obvious logic:
If this was not the case, anyone could send messages from any "verified" phone numbers?
If you meant verified as in "account verified":
This is not what Plivo is used for, you need to check if your Mobile Carrier is providing an accessible internet accessible API (I doubt it.) If you need to use sim-linked numbers, you can always use modems and AT commands, but it's fairly unreliable.
I think you should buy a $1 Plivo number, unless you need it to validate gmails or things of such.

How to send a text from the user's cell phone number using Twilio?

I want to programatically send SMS / text messages from my Meteor app; many people recommend twilio for this, and there are several Meteor Twilio packages (findable via atmosphere and/or googling/binging). I don't know if one of these packages is decidedly better than the other, but for now, at least, I'm using the abhiaayer:meteor-twilio package.
My concern is that, when you create a Twilio account, they assign you a "from" phone number (you can't, apparently, just use your own). Maybe I'm misunderstanding how this works, but before I go too far down this path, I want to know if the sender of the SMS -- IOW the user of my app -- will be able to use their phone number as the "from"/sender phone number.
After all, the whole point of my app is to allow the user to send out multiple identical texts (such as "where are you?" or "are you okay?") to friends/family, and then get a response back from them (to his phone, not to a Twilio-supplied number).
If it's possible to use Twilio with your own phone number as the "from"/sending number, has anyone got suggestions on Meteor package preferences (abhiaayer, andreioprisan, DispatchMe) and how that can be accomplished from Meteor?
I imagine the basic code would be pretty much the same, regardless of package used; e.g., here's an example from the andreioprisan package
twilio = Twilio(ACCOUNT_SID, AUTH_TOKEN);
twilio.sendSms({
to:'+16515556677', // Any number Twilio can deliver to
from: '+14506667788', // A number you bought from Twilio and can use for outbound communication
body: 'word to your mother.' // body of the SMS message
}, function(err, responseData) { //this function is executed when a response is received from Twilio
if (!err) { // "err" is an error received during the request, if any
// "responseData" is a JavaScript object containing data received from Twilio.
// A sample response from sending an SMS message is here (click "JSON" to see how the data appears in JavaScript):
// http://www.twilio.com/docs/api/rest/sending-sms#example-1
console.log(responseData.from); // outputs "+14506667788"
console.log(responseData.body); // outputs "word to your mother."
}
});
I did create a Twilio account, and have the "from" number (not my actual cell phone number) they assigned my account, and the SID, but I don't kow what the AUTH_TOKEN should be.
If what I intend is not possible from Twilio, what I may do is just write the app so that all the selected "to" numbers can be copied to the clipboard, so that the user can paste them into his SMS screen's "recipients" textbox; but I was hoping to afford the user the luxury of simply tapping a button.
I don't think you can do this (send from the user's own cell number using Twilio). If your app is an actual mobile app as opposed to a web app you can use the Android or iOS APIs for sending SMS from the user's phone. I'm not sure of the details of this and certainly with iOS it looks like you can't do so fully automatically for obvious reasons (you could just spam all the user's contacts for instance, and this would incur a monetary cost to the user).
There's a Cordova plugin here which can do what you want: https://github.com/cordova-sms/cordova-sms-plugin (I haven't used it so can't vouch for it but it seems to be actively maintained).
If it is a web app, your suggesting of copying the numbers to clipboard is by far the most straightforward solution and I would recommend that in the first instance. For completeness I've included some details and considerations below of how you can do 2-way communication with Twilio (or alternatives such as Nexmo) in a couple of ways, in case someone finds it helpful. It's not exactly trivial though. 1-way communication is a lot easier!
Send via API
From your app the user types a message and selects who to send it to. You app then connects to your server which uses the Twilio API to send N messages to the N recipients. These messages will appear to come from the Twilio-provided number.
Send via SMS
The user manually sends an SMS to your Twilio number and then you receive a webhook to your server from Twilio with the message details. You have to do the processing to work out who to forward the message to and then use the Twilio API to do so. Again the recipients will see a message from the Twilio-provided number.
Replies
When a recipient replies to the message, Twilio sends you a webhook with the details and you can determine who sent the original message and forward the reply back to the original sender.
Number Pooling
One of the obvious flaws here is that if multiple users send a message to the same person then there's no way of telling which message they are replying to. There's no message IDs passed with SMS so you have to use multiple sending numbers (one per unique sender to a particular recipient). The amount of numbers required is basically the most number of different senders one user would have to reply to (this is not generally possible to work out beforehand, so you would have to call the API to provision a new number on the fly).
To give a more concrete example say you have 2 users (S1 & S2) and 3 recipients (R1, R2 & R3). You have 1 Twilio-provided number (N1).
S1 sends a message to R1 via your app, you use N1 to send the message via the Twilio API. R1 receives the message from N1. If they reply, you receive a message to N1 from R1 so you know you need to forward it to S1.
S1 sends a message to R2 via your app, R2 has not yet received any messages so you can reuse N1 to send the message. R2 replies to N1 and again you can forward it to S1. If this is delivered in-app, no further problems, if the reply is forwarded via SMS then we'd need to provision a new number (N2) to enable S1 to reply to R2's reply.
S2 sends a message to R3 via your app, as before you can reuse N1 and still route the reply correctly.
Now if S2 sends a message to R1, we realise that R1 has already received messages from S1 using number N1. In this case we can't use N1 because we cannot identify who the reply was intended for. If we haven't already, we need to provision a new number (N2) and now we can send the message so R1. When R1 replies to N2 we know the reply needs to be forwarded to S2.
The more users sending to one recipient, the bigger (and more expensive) your number pool gets. It's probably worth implementing some kind of timeout (say 72 hours) in which the recipient can reply. So in this case if the timeout had expired after S1 sent the message to R1 via N1, we could reuse N1 for the communication between S2 and R1. Obviously this isn't entirely foolproof but it could reduce costs.
Identity
The other issue with sending from a pooled number. I send a message to Dan via an app, and he receives that message from a random number:
Hi Dan, how are you?
How does Dan know who sent the message? You'd have to add some identifier to every message (or at least the first in each conversation thread).

fail2ban - asterisk not able to ban this string without an ip for registration attemps

I have installed fail2ban and configured for asterisk, its working fine .
But there is an registration attempt which is consistent and fail2ban is unable to ban it as it does not matches any regex statements I think ..
the registration attempt string is
NOTICE[15055][C-00009bed]: chan_sip.c:25679 handle_request_invite: Failed to authenticate device 333sip:333#x.x.x.x;tag=3a726ea9
this registration statement is not giving any ip its coming from .. please advise .. I think we can add an regex statement for this statement... or any other solution to stop this attempt . This attempt frequency is like 5-10 attempts a day.. In my settings it bans on 3 time attempt.
You should not care if you have less then 5 attempt/second. Since it is brute-force attack, it will take forever guess your password in current rate
You can stop such attempts by using iptables filters with LOG action. After that use firewall log file in fail2ban. But for low rate it will not work, except variant when you not use dynamic registrations at all.
Asterisk logs the originating IP address in the security log. You can get security messages in your messages log by adding/editing the following line in /etc/asterisk/logger.conf
messages => security,notice,warning,error
...and reloading the logger:
logger reload
at the CLI.

NopCommerce will not mark off messages as sent in message queue and keeps on flooding with E-mails

I have just installed nopcommerce 1.9 and now configuring it.
Inputed all the correct settings for the SMTP (Host, port etc.) and the test E-mail arrives fine to any address I tested it with.
However should I fill in the contact form or have a new user sign-up the store can't stop sending the same message over and over again to the default store E-mail address or to that of the user. Keeps sending the welcome to the store E-mail for those that signed up or the message body of the contact form etc. To stop it I have to go to message queues and delete the message(s) from there manually, these messages are are flagged as unsent! Even though they have been sent out many times obviously.
So it re-sends everything being sent by the store non stop even though the message went out fine the first time.
Anyone know why it's doing this? Have confirmed I have correct settings for the smtp with my webhost provider, nothing in mail error log of worth.
Thanks...
If you run nopCommerce 1.90 under medium trust, please follow the next steps in order fix the issue when customers keep receiving mails:
Open \Libraries\Nop.BusinessLogic\Messages\MessageService.cs file
Find UpdateQueuedEmail method
Replace
if (!_context.IsAttached(queuedEmail))
_context.QueuedEmails.Attach(queuedEmail);
with
if (!_context.IsAttached(queuedEmail))
_context.QueuedEmails.Attach(queuedEmail);
_context.ObjectStateManager.ChangeObjectState(queuedEmail, System.Data.EntityState.Modified);
Recompile the solution
...or simply redownload the latest version here (the version is still 1.90)

How can I set triggers for sendmail?

If my email id receives an email from a particular sender, can I ask sendmail to trigger a different program and pass on the newly arrived email to it for further processing? This is similar to filters in gmail. Wait for some email to arrive, see if it matches the criteria and take some action if it does.
This is what Procmail is for.
Set Sendmail up to use procmail as the mail delivery agent (MDA), or set up your .forward to pipe stuff through procmail. (See the man page.)
Then you can write your .procmailrc to do all sorts of things along these lines.
This filter predates gmail. Still useful if you're running a mail server.
are you talking about email clients? If so then you can set rules in outlook and I am sure there mustbe ways in other email cleints too!! If u are asking something else. sorry
ok. then I suggest Colins method.. I use cron to monitor emails (for a particluar domain) and send text messages as alerts!. Similar to what you are asking!
We handle this by having a cron process running on the mail server which watches the inbox directory and scans any new messages (files) every 10 minutes or so.
When the process finds an email of interest, it fires the information off to another process which then reacts to the new message (and, in our case, removes the message from the inbox).
--edit--
Finding the email inbox depends on your implementation - check the 'manual' your version of sendmail for details - we direct incoming email to a special directory or have parameters to work out the inbox details. I don't feel it would be useful to be more specific as the answer to 'where is the inbox' is 'it depends'.
As for the pattern to search for - we decode the email message (a text file) into a DOM that we can manipulate. For example, we can then look for specific words in property 'subject'.

Resources