What is the difference between several SMTP send options?
Posted by Alexander Alexeev on 02 April 2009 10:45
The E-mail client mode just opens a default e-mail client on customer's machine. This means that customer should provide a real e-mail address to be able to send a bug report to you. You only need to set up a single e-mail account and add it to "Addresses" field. The other bonus: customer's e-mail client will definitely bypass any firewall/proxy/network settings. The downside: customer may not want to use his e-mail.|
The SMTP client option is work like any other e-mail application (like Outlook): i.e. it needs your (not customer's) e-mail address and e-mail password, so it can connect to e-mail server and send bug report.
In order to use SMTP client option you need to get an e-mail account first for your incoming bug-reports. Then you need to fill your login and password to your project options (SMTP Settings box). You should also specify SMTP address of your e-mail server - usually if you have "firstname.lastname@example.org" e-mail address then SMTP server address can be "smtp.efg.com" - you can refer to support page for your e-mail server.
The bug report will sended from account, specified in "SMTP Settings" box to e-mail, specified in first "Addresses" field. So, basically you need TWO e-mail acounts: one public is for sending. And other one is private for receiving. You can also try to use the same account: by filling the same e-mail address twice - in the "Addresses" field and "SMTP Settings"/"From" box (you e-mail server can block such "from myself"-"to myself" transfer; you need to do some experiments before deploying your application).
The SMTP server option is work like e-mail server. You don't need the e-mail account, since server can manage the acount by himself. The SMTP server option is usually the best choice, since it do not require establishing a e-mail account or usng any external application. You only need to write any address to "From" field in "SMTP Settings" box (yes, the default "email@example.com" is fine too). Of course, you still need a real e-mail account to send bug reports to it - you should fill its address in "Addresses" field. But you should not specify any login, server or password data. When your application wants to send bug report, it creates a temporary e-mail server, which connects to your e-mail server and says: "hi! I'm the e-mail server, I have a message for you from one of my accounts!". It transfers the bug report and then dissapears. The whole case is very similar to: if you have a e-mail account on hotmail.com and want to send e-mail to someone on gmail.com, then e-mail server at hotmail.com connects to e-mail server at gmail.com and says: "Hi! I'm hotmail.com and have a message for one of your accounts from one of my accounts: here is it".
Note, that though you CAN specify the same address in "From" and "Addresses" fields - your e-mail server can block such messages. So it is better to experiment a little before deploying your application.