about smtp

Swift Mailer is a fantastic library for sending email with php. Discuss this library or ask any questions about it here.

Moderators: Chris Corbyn, General Moderators

Post Reply
webstyler
Forum Commoner
Posts: 85
Joined: Sat Feb 14, 2004 2:16 am

about smtp

Post by webstyler »

Hi

any newbie question about smtp process

1. swift can return realtime delivery error ?
2. if smtp meet an error there is also a bounce email ?
3. if smtp meet an error there isn't queue, correct ?
4. if smtp 'try' to send emails and return error so is not so fast, correct ?
5. we need to send custom field emails (also the body text), any message have different to andbody, is smtp way the best choice ? With wift is possible to custom body not at declaration but 'into' smtp cycle ?

Thks x help
User avatar
Chris Corbyn
Breakbeat Nuttzer
Posts: 13098
Joined: Wed Mar 24, 2004 7:57 am
Location: Melbourne, Australia

Post by Chris Corbyn »

1. No, it can tell you if the relaying server accepted the message, but not if the delivery fails.
2. It depends upon the error. All servers deal with errors differently.
3. Sometimes messages go onto a "defer" queue where they are repeatedly re-tried. Again, this depends upon the server.
4. SMTP is a dumb protocol. To send custom emails you really do have to manually send each one. Swift can customize the message body but you will increase bandwidth usage the more emails you send with custom bodies/headers.
webstyler
Forum Commoner
Posts: 85
Joined: Sat Feb 14, 2004 2:16 am

Post by webstyler »

d11wtq wrote:4. SMTP is a dumb protocol. To send custom emails you really do have to manually send each one. Swift can customize the message body but you will increase bandwidth usage the more emails you send with custom bodies/headers.
:( I think ti be cofused

x example:
I must send 10.000 emails
The body is make with template but all contains custom field that is filled with mysql data

I know that send this with mail() can be a problem because this function open and close smtp connection at any sent.. so must be sloow

Is better to use smtp (may be) but you speak of "send each one" .. is alway better directly smtp sent in this case ? or mail() with -q switch ?

tx :)
User avatar
Chris Corbyn
Breakbeat Nuttzer
Posts: 13098
Joined: Wed Mar 24, 2004 7:57 am
Location: Melbourne, Australia

Post by Chris Corbyn »

Use sendmail if you want the script to end faster, use smtp if you want to keep the load spread across two servers. Both will be just as fast to get the mail to the recipients.
webstyler
Forum Commoner
Posts: 85
Joined: Sat Feb 14, 2004 2:16 am

Post by webstyler »

d11wtq wrote:Use sendmail if you want the script to end faster, use smtp if you want to keep the load spread across two servers. Both will be just as fast to get the mail to the recipients.
we prefer use sendmail But the problem is that for this we must set high value to number of max emails hour to all customers server
with smtp way we can specify more smtp and get to this customer more emails x hour :)

but, what you mean exactly when you write " To send custom emails you really do have to manually send each one" ?
that the only way is to :
- open smtp connection
- cycle the send of any single email
- and then close
?

about your experience you think there is other way ?

thx x patience :)
User avatar
Chris Corbyn
Breakbeat Nuttzer
Posts: 13098
Joined: Wed Mar 24, 2004 7:57 am
Location: Melbourne, Australia

Post by Chris Corbyn »

Yeah customized messages require:

* Open a connection
* Loop over recipients, customize message and send to connection
* Close connection

Non customized (multiple envelopes, as in Cc or To) messages are faster:

* Open connection
* Inform connection of all recipients
* Send single message
* Close connection
webstyler
Forum Commoner
Posts: 85
Joined: Sat Feb 14, 2004 2:16 am

Post by webstyler »

:) k tx

another question :?

I connect and send with smtp and receive this

connection » Connected: *** ESMTP Exim 4.63 #1 Wed, 14 Feb 2007 11:21:09 +0100 220-We do not authorize the use of this system to transport unsolicited, 220 and/or bulk e-mail. ;
ehloresponse » 250-*** Hello localhost [**.**.67.201] 250-SIZE 52428800 ;
authrequest » 250-PIPELINING 250-AUTH PLAIN LOGIN 250-STARTTLS 250 HELP ;
authusername » 334 ************ ;
authpassword » 334 ************ ;
heloresponse » 235 Authentication succeeded ;
mailfromresponse » 250 *** Hello localhost [**.**.67.201] ;
mailtoresponse » 250 OK ;
data1response » 250 Accepted ;
data2response » 354 Enter message, ending with "." on a line by itself ;
quitresponse » 250 OK id=4EERW-0116Qa-H9 221 *** closing connection ;

--

With this I not send directly.. I put email on MY smtp and after smtp speak with destination.. correct ?
All info that I can bring up is related about my script and my smtp server..

Beacuse if I go on my WHM and delivery single email I receive more info and realtime error... I not paste here because is long.. but I can view this "550-"The recipient cannot be verified. Please check all recipients of this
550 message to verify they are valid."

thks
User avatar
Chris Corbyn
Breakbeat Nuttzer
Posts: 13098
Joined: Wed Mar 24, 2004 7:57 am
Location: Melbourne, Australia

Post by Chris Corbyn »

webstyler wrote::) k tx

another question :?

I connect and send with smtp and receive this

connection » Connected: *** ESMTP Exim 4.63 #1 Wed, 14 Feb 2007 11:21:09 +0100 220-We do not authorize the use of this system to transport unsolicited, 220 and/or bulk e-mail. ;
ehloresponse » 250-*** Hello localhost [**.**.67.201] 250-SIZE 52428800 ;
authrequest » 250-PIPELINING 250-AUTH PLAIN LOGIN 250-STARTTLS 250 HELP ;
authusername » 334 ************ ;
authpassword » 334 ************ ;
heloresponse » 235 Authentication succeeded ;
mailfromresponse » 250 *** Hello localhost [**.**.67.201] ;
mailtoresponse » 250 OK ;
data1response » 250 Accepted ;
data2response » 354 Enter message, ending with "." on a line by itself ;
quitresponse » 250 OK id=4EERW-0116Qa-H9 221 *** closing connection ;
That's the conversation between the SMTP server (MTA) and the application (MUA) yes. I'm not sure what the question is :) Your annotations are correct and you are correct by ***'ing out the username and password because they (may) simply be base64 encoded. You don't have to worry about this if you're using Swift. Are you using Swift? :?
webstyler wrote:With this I not send directly.. I put email on MY smtp and after smtp speak with destination.. correct ?
All info that I can bring up is related about my script and my smtp server..

Beacuse if I go on my WHM and delivery single email I receive more info and realtime error... I not paste here because is long.. but I can view this "550-"The recipient cannot be verified. Please check all recipients of this
550 message to verify they are valid."

thks
The stuff you showed above is information from your own MX only yes. It only knows whether IT is willing to accept the recipient and/or sender. When the message leaves your server it will pass through at least one more server (possibly several) before reaching it's final destination... any one of those other servers could reject the message.
webstyler
Forum Commoner
Posts: 85
Joined: Sat Feb 14, 2004 2:16 am

Post by webstyler »

tx for complete and really useful informations and help :D
d11wtq wrote: Are you using Swift? :?
Yes, also Swift :)

I am testing and study more smtp class and function for best integration with our need.

Thx
Post Reply