I belief this was the same question you asked on community too.
First of all yes you need a Developer License for this as it needs some piece of code to be written. Secondly you need to configure your Job Queue that will send an auto Email to your customers. You just need ti think when your mail will be sent, are you maintaining any status for this.What if you need to update something in your created Sales Order and eventually that mail has been fired.
Yes, I’m the same person who also raised the issue here. I’m trying both channels, as this is a blocking issue for me.
As I also explained there, the customer needs to be notified exactly once to let him know that a sales order has been created in the system. So, changes an existing sales order should not trigger any new mails or change the one already in the queue.
Yes it wont hamper anything, neither it will try to shoot email to same customer for whom the mail is already in a queue.
This could be a two step process. You should take decision or a better way if yo have.
Every time a Sales Order get created it comes up with an open Status. You can sent a mail based on those customers having Status Open and once the mail is sent you can add a FLAG as Mail Sent and mark it as TRUE.
Next time whenever the Job will try sending an Email it will first search for those Customers whose Status is Open and Mail Sent as FALSE.