Jump to content

using smtp


adv

Recommended Posts

i have this script below that sends mail using smtp

but the thing is this

 

does it keeps all smtp connections open and does it sends from it simultaneously

 

<?php

include('SMTPconfig.php');
include('SMTPClass.php');

/*
smtps are in file 
user:pass:host
user1:pass1:host1

*/
$file=file('smtp.txt');  

$smtp_port='25';
$to = 'aa@aa.com';
$from = 'test@test.com';
$subject = 'test';
$body = 'hello all';
foreach($file as $files){
list($smtp_user,$smtp_pass,$smtp_server)=explode(':',$files);
$SMTPMail = new SMTPClient ($smtp_server, $smtp_port, $smtp_user, $smtp_pass, $from, $to, $subject, $body);
$SMTPChat = $SMTPMail->SendMail();

}

?>

 

 

 

 

Link to comment
Share on other sites

this is the whole code

 

<?php
class SMTPClient {
function SMTPClient ($SmtpServer, $SmtpPort, $SmtpUser, $SmtpPass, $from, $to, $subject, $body){

$this->SmtpServer = $SmtpServer;
$this->SmtpUser = base64_encode ($SmtpUser);
$this->SmtpPass = base64_encode ($SmtpPass);
$this->from = $from;
$this->to = $to;
$this->subject = $subject;
$this->body = $body;

if ($SmtpPort == "")  $this->PortSMTP = 25;
else		      $this->PortSMTP = $SmtpPort;
}

function SendMail () {
if ($SMTPIN = fsockopen ($this->SmtpServer, $this->PortSMTP)) {
fputs ($SMTPIN, "EHLO  localhost\r\n"); 
$talk["hello"] = fgets ( $SMTPIN, 1024 ); 
fputs($SMTPIN, "auth login\r\n");
$talk["res"]=fgets($SMTPIN,1024);
fputs($SMTPIN, $this->SmtpUser."\r\n");
$talk["user"]=fgets($SMTPIN,1024);
fputs($SMTPIN, $this->SmtpPass."\r\n");
$talk["pass"]=fgets($SMTPIN,256);
fputs ($SMTPIN, "MAIL FROM: <".$this->from.">\r\n"); 
$talk["From"] = fgets ( $SMTPIN, 1024 ); 
fputs ($SMTPIN, "RCPT TO: <".$this->to.">\r\n"); 
$talk["To"] = fgets ($SMTPIN, 1024); 
fputs($SMTPIN, "DATA\r\n");
$talk["data"]=fgets( $SMTPIN,1024 );
fputs($SMTPIN, "To: <".$this->to.">\r\nFrom: <".$this->from.">\r\nSubject:".$this->subject."\r\n\r\n\r\n".$this->body."\r\n.\r\n");
$talk["send"]=fgets($SMTPIN,256);
//CLOSE CONNECTION AND EXIT ... 
fputs ($SMTPIN, "QUIT\r\n"); 
fclose($SMTPIN); 
} 
return $talk;
} 
}


/*
smtps are in file 
user:pass:host
user1:pass1:host1

*/
$file=file($argv[1]);  

if(!$file) die('Cannot open '.$argv[1]);
$to = 'test1@test.com';
$from = 'test@test.com';
$subject = 'test';
$body = 'hello all';
foreach($file as $files){
list($smtp_server,$smtp_user,$smtp_pass)=explode(':',$files);
$SMTPMail = new SMTPClient ($smtp_server, $smtp_port, $smtp_user, $smtp_pass, $from, $to, $subject, $body);
$SMTPChat = $SMTPMail->SendMail();

if($SMTPChat) echo 'mail have been sent to '.$to;
}

?>

 

 

 

i`ve tried like this but i think its sending it one by one

and nothing reaches in mail :|

Link to comment
Share on other sites

thanks for answering vegas

but what i did i good ?  i mean with foreach function to loop though the entire list of smtp

does it keeps it open when it loops over it

and does it sends from all simultaneously??

 

and by the way i dont see any smtp_accept_max in the php.ini

Link to comment
Share on other sites

ok if nobody knows i`ll make it simple

there is ams ( advanced mass sender ) or something like that and it uses multiple smtp`s connections at the same time and its sends from all  simultaneously 

i just wanna know if how can i do that in php

thanks

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.