By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
429,335 Members | 2,718 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 429,335 IT Pros & Developers. It's quick & easy.

need to send email to 1000 addresses (currently in MS Excel)- what's the best way to do that, create a mail forma and paste ALL 1000 addresses in the TO field?

P: n/a


Jul 17 '05 #1
Share this Question
Share on Google+
14 Replies


P: n/a
Next time, try writing your message in the body, not in the subject line.
Also, as a common courtesy, please include your name, or at least your
handle, and email address. (It is smart to mask your email, such as "me AT
domain DOT com" so that webcrawlers can't add it to spam lists.) Lastly,
don't post a question that doesn't have anything to remotely do with PHP,
to the PHP group. Posting to the proper group will not only get you a
response faster, it will help keep the group on topic.

Thanks,
-Eric Kincl
Jul 17 '05 #2

P: n/a
PP
There is a message body to type in you know.

The best way is probably export it to a text file, an email address on every
line, then get the file in php using file() and send an email to each one
seperately.
--
Perfect Partner
http://www.PerfectPartner.tv/
Jul 17 '05 #3

P: n/a
Perhaps I did not post it correctly or explain myself well. Most people I
email appreciate putting the question in the subject line so they know what
I am asking for without reading the entire email. Live & learn.

I'd like to quickly develop a way send email to about 1000 people using php.
I thought about exporting the excel file to text then pasting & coding each
line as an array then looping through the array with mail().

Do you know of a quicker way?


"Eric Kincl" <Er**@Kincl.net_NO_SPAM_> wrote in message
news:3f******@news.gvsu.edu...
Next time, try writing your message in the body, not in the subject line.
Also, as a common courtesy, please include your name, or at least your
handle, and email address. (It is smart to mask your email, such as "me AT domain DOT com" so that webcrawlers can't add it to spam lists.) Lastly,
don't post a question that doesn't have anything to remotely do with PHP,
to the PHP group. Posting to the proper group will not only get you a
response faster, it will help keep the group on topic.

Thanks,
-Eric Kincl

Jul 17 '05 #4

P: n/a
NotGiven wrote:
Perhaps I did not post it correctly or explain myself well. Most people I
email appreciate putting the question in the subject line so they know
what
I am asking for without reading the entire email. Live & learn.

I'd like to quickly develop a way send email to about 1000 people using
php. I thought about exporting the excel file to text then pasting &
coding each line as an array then looping through the array with mail().

Do you know of a quicker way?


"Eric Kincl" <Er**@Kincl.net_NO_SPAM_> wrote in message
news:3f******@news.gvsu.edu...
Next time, try writing your message in the body, not in the subject line.
Also, as a common courtesy, please include your name, or at least your
handle, and email address. (It is smart to mask your email, such as "me

AT
domain DOT com" so that webcrawlers can't add it to spam lists.) Lastly,
don't post a question that doesn't have anything to remotely do with PHP,
to the PHP group. Posting to the proper group will not only get you a
response faster, it will help keep the group on topic.

Thanks,
-Eric Kincl


Hey,
I'm actually doing something to that extent right now. What it does is take
a string (from a textarea... it simply strips the \n tags so php sees it as
one huge string) and then it splits that string into an array of arrays.
(the way it works it could easily stand for rows and columns of an excel
sheet...) Here is the code I have so far. Keep in mind that I am actually
working on it this exact moment, and it may not be perfect, it seems to
work so far though for my means.

function string2namesArray(){
$Nsep = ";"; // Name separator
$FLsep = ","; // Last/First name Separator

if(isset($_REQUEST['names'])){
$names = $_REQUEST['names'];

// Compound the string - get rid of newlines, spaces, etc...
$names = str_replace(" ", "", $names);
$names = str_replace("\n", "", $names);
$names = str_replace("\r", "", $names);
// I forget which way it is on windows...
$names = str_replace("\n\r", "", $names);
$names = str_replace("\r\n", "", $names);
$names = str_replace("\t", "", $names);

// Strip last ";", if present
// the last ";" apparently causes an extra array index that is unnessasary
// BETA CODE
if(strrpos($names, $Nsep) == (strlen($names) - 1)){
$names = substr($names, 0, (strlen($names) - 1));
}
// END BETA CODE

$namesArray = explode($Nsep, $names); // Split on ";" and make array
$i = 0;
while($namesArray[$i]){
// split on "," and make an array inside of index [i]
// Since there can only be first/last name, make max array length 2
$namesArray[$i] = explode($FLsep, $namesArray[$i], 2);
$i++;
}
return $namesArray;
}
}

To give you an idea of what this program does, there is a textarea in which
a person can enter a set of names in the following syntax:
last, first;
It then takes this list, and puts it into an array of arrays as follows:
String = "last, first; last2, first2;"
Array
(
[0] => Array
(
[0] => last
[1] => first
)

[1] => Array
(
[0] => last2
[1] => first2
)

)
Newlines etc don't bother it. If you could modify this slightly (I think
you just have to get rid of the "2" in this line:
$namesArray[$i] = explode($FLsep, $namesArray[$i], 2);
And that should do it... Also change the $FLsep and $Nsep to be whatever
the row/column seperators are in the text file.

Lastly, don't send multiple e-mails. This takes up a ton of bandwidth on
your end. CC it, or even better, BCC it so that those being emailed can't
see the other peoples email addresses. I don't know how to BCC in PHP, or
even email in PHP. Check php.net for that info.

Good Luck,
-Eric Kincl
Jul 17 '05 #5

P: n/a
thanks

"Eric Kincl" <Er**@Kincl.net_NO_SPAM_> wrote in message
news:3f******@news.gvsu.edu...
NotGiven wrote:
Perhaps I did not post it correctly or explain myself well. Most people I email appreciate putting the question in the subject line so they know
what
I am asking for without reading the entire email. Live & learn.

I'd like to quickly develop a way send email to about 1000 people using
php. I thought about exporting the excel file to text then pasting &
coding each line as an array then looping through the array with mail().

Do you know of a quicker way?


"Eric Kincl" <Er**@Kincl.net_NO_SPAM_> wrote in message
news:3f******@news.gvsu.edu...
Next time, try writing your message in the body, not in the subject line. Also, as a common courtesy, please include your name, or at least your
handle, and email address. (It is smart to mask your email, such as "me
AT
domain DOT com" so that webcrawlers can't add it to spam lists.)
Lastly, don't post a question that doesn't have anything to remotely do with PHP, to the PHP group. Posting to the proper group will not only get you a
response faster, it will help keep the group on topic.

Thanks,
-Eric Kincl


Hey,
I'm actually doing something to that extent right now. What it does is

take a string (from a textarea... it simply strips the \n tags so php sees it as one huge string) and then it splits that string into an array of arrays.
(the way it works it could easily stand for rows and columns of an excel
sheet...) Here is the code I have so far. Keep in mind that I am actually working on it this exact moment, and it may not be perfect, it seems to
work so far though for my means.

function string2namesArray(){
$Nsep = ";"; // Name separator
$FLsep = ","; // Last/First name Separator

if(isset($_REQUEST['names'])){
$names = $_REQUEST['names'];

// Compound the string - get rid of newlines, spaces, etc... $names = str_replace(" ", "", $names);
$names = str_replace("\n", "", $names);
$names = str_replace("\r", "", $names);
// I forget which way it is on windows...
$names = str_replace("\n\r", "", $names);
$names = str_replace("\r\n", "", $names);
$names = str_replace("\t", "", $names);

// Strip last ";", if present
// the last ";" apparently causes an extra array index that is unnessasary // BETA CODE
if(strrpos($names, $Nsep) == (strlen($names) - 1)){
$names = substr($names, 0, (strlen($names) - 1));
}
// END BETA CODE

$namesArray = explode($Nsep, $names); // Split on ";" and make array $i = 0;
while($namesArray[$i]){
// split on "," and make an array inside of index [i] // Since there can only be first/last name, make max array length 2 $namesArray[$i] = explode($FLsep, $namesArray[$i], 2); $i++;
}
return $namesArray;
}
}

To give you an idea of what this program does, there is a textarea in which a person can enter a set of names in the following syntax:
last, first;
It then takes this list, and puts it into an array of arrays as follows:
String = "last, first; last2, first2;"
Array
(
[0] => Array
(
[0] => last
[1] => first
)

[1] => Array
(
[0] => last2
[1] => first2
)

)
Newlines etc don't bother it. If you could modify this slightly (I think
you just have to get rid of the "2" in this line:
$namesArray[$i] = explode($FLsep, $namesArray[$i], 2);
And that should do it... Also change the $FLsep and $Nsep to be whatever
the row/column seperators are in the text file.

Lastly, don't send multiple e-mails. This takes up a ton of bandwidth on
your end. CC it, or even better, BCC it so that those being emailed can't
see the other peoples email addresses. I don't know how to BCC in PHP, or
even email in PHP. Check php.net for that info.

Good Luck,
-Eric Kincl

Jul 17 '05 #6

P: n/a
"NotGiven" <no****@nonegiven.net> wrote in message
news:<1B***************@bignews3.bellsouth.net>...

need to send email to 1000 addresses (currently in MS Excel)-
what's the best way to do that, create a mail forma and paste
ALL 1000 addresses in the TO field?


Assuming your mailing is properly solicited, the "To: " field
should contain only one address, yours (just so that you can
confirm that the message has in fact been sent). Recipient's
addresses should go into the "Bcc: " field, separated by commas.
This way, the size of outgoing message will be smaller, plus
the receipients won't see who else received the mailing.

As to "the best way", you forgot to tell us one thing: the best
way to do WHAT? One-time mailing? Occasional mailings with
human-generated content? Periodic mailings with database-
generated content? Something else?

Cheers,
NC
Jul 17 '05 #7

P: n/a
Nikolai Chuvakhin wrote:
"NotGiven" <no****@nonegiven.net> wrote in message
news:<1B***************@bignews3.bellsouth.net>...
need to send email to 1000 addresses (currently in MS Excel)-
what's the best way to do that, create a mail forma and paste
ALL 1000 addresses in the TO field?

Assuming your mailing is properly solicited, the "To: " field
should contain only one address, yours (just so that you can
confirm that the message has in fact been sent). Recipient's
addresses should go into the "Bcc: " field, separated by commas.
This way, the size of outgoing message will be smaller, plus
the receipients won't see who else received the mailing.


Good to know that that kind of spam won't reach me, as SMTP is blocking BCC
mail, checking that the to address is really a user on the system to where the
mail is sent.

As to "the best way", you forgot to tell us one thing: the best
way to do WHAT? One-time mailing? Occasional mailings with
human-generated content? Periodic mailings with database-
generated content? Something else?


Just looking at the topic, seems to be one time spam and spam ain't nothing
that people wants to have.
//Aho

Jul 17 '05 #8

P: n/a
The best way is probably export it to a text file, an email address on every line, then get the file in php using file() and send an email to each one
seperately.


I've done this when running PHP as a command-line program
using telnet; however, I need to run the same program on a server with
only ftp access. When I run the program as a web page, the connection
times out before all of the E-mails are sent. So, I have no idea if
it made it through the list or not.

--
Don Adams
Jul 17 '05 #9

P: n/a
On 2003-11-20, Don Adams <dg*@sgi.com> wrote:
The best way is probably export it to a text file, an email address on

every
line, then get the file in php using file() and send an email to each one
seperately.


I've done this when running PHP as a command-line program
using telnet; however, I need to run the same program on a server with
only ftp access. When I run the program as a web page, the connection
times out before all of the E-mails are sent. So, I have no idea if
it made it through the list or not.


user@host: man screen

Or write a little resume function.

--
verum ipsum factum
Jul 17 '05 #10

P: n/a
Don Adams wrote:
The best way is probably export it to a text file, an email address on


every
line, then get the file in php using file() and send an email to each one
seperately.

I've done this when running PHP as a command-line program
using telnet; however, I need to run the same program on a server with
only ftp access. When I run the program as a web page, the connection
times out before all of the E-mails are sent. So, I have no idea if
it made it through the list or not.


As webservers has a timeout limit and the php.ini has one too, which makes
that scripts that takes to long without making any output will be timed out
and not preform the whole spamming.

Using Bbc: will increase the sped as you only send one mail, but luckylly SMTP
servers starts to filter away Bbc: mails, as thise are today used mostly only
by spammers (during a month 97% of all spam I got was Bbc:).
//Aho

Jul 17 '05 #11

P: n/a
jn
"J.O. Aho" <us**@example.net> wrote in message
news:bp*************@ID-130698.news.uni-berlin.de...
Don Adams wrote:
The best way is probably export it to a text file, an email address on
every
line, then get the file in php using file() and send an email to each oneseperately.

I've done this when running PHP as a command-line program
using telnet; however, I need to run the same program on a server with
only ftp access. When I run the program as a web page, the connection
times out before all of the E-mails are sent. So, I have no idea if
it made it through the list or not.


As webservers has a timeout limit and the php.ini has one too, which makes
that scripts that takes to long without making any output will be timed

out and not preform the whole spamming.

Using Bbc: will increase the sped as you only send one mail, but luckylly SMTP servers starts to filter away Bbc: mails, as thise are today used mostly only by spammers (during a month 97% of all spam I got was Bbc:).
//Aho


Good thing you can set the max_execution_time to "0" in an .htaccess file or
from within PHP :)
Jul 17 '05 #12

P: n/a
Right - it's a one time emailing to a known group of 1000 people. The email
addresses are curently in Excel.

"Nikolai Chuvakhin" <nc@iname.com> wrote in message
news:32**************************@posting.google.c om...
"NotGiven" <no****@nonegiven.net> wrote in message
news:<1B***************@bignews3.bellsouth.net>...

need to send email to 1000 addresses (currently in MS Excel)-
what's the best way to do that, create a mail forma and paste
ALL 1000 addresses in the TO field?


Assuming your mailing is properly solicited, the "To: " field
should contain only one address, yours (just so that you can
confirm that the message has in fact been sent). Recipient's
addresses should go into the "Bcc: " field, separated by commas.
This way, the size of outgoing message will be smaller, plus
the receipients won't see who else received the mailing.

As to "the best way", you forgot to tell us one thing: the best
way to do WHAT? One-time mailing? Occasional mailings with
human-generated content? Periodic mailings with database-
generated content? Something else?

Cheers,
NC

Jul 17 '05 #13

P: n/a
"NotGiven" <no****@nonegiven.net> wrote in message
news:<VO*****************@bignews1.bellsouth.net>. ..

it's a one time emailing to a known group of 1000 people.
The email addresses are curently in Excel.


Then why bother with PHP at all? Copy the Excel column
of e-mail addresses to Clipboard, paste it into any text
editor that can find end-of-line characters (incidentally,
Word will do), replace end-of-line characters with ', '
(comma plus space), copy to Clipboard again, and paste into
the "Bcc: " field of your regular e-mail software...

Cheers,
NC
Jul 17 '05 #14

P: n/a
Nikolai Chuvakhin wrote:
"NotGiven" <no****@nonegiven.net> wrote in message
news:<VO*****************@bignews1.bellsouth.net>. ..
it's a one time emailing to a known group of 1000 people.
The email addresses are curently in Excel.

Then why bother with PHP at all? Copy the Excel column
of e-mail addresses to Clipboard, paste it into any text
editor that can find end-of-line characters (incidentally,
Word will do), replace end-of-line characters with ', '
(comma plus space), copy to Clipboard again, and paste into
the "Bcc: " field of your regular e-mail software...

Cheers,
NC


And that, my freinds, deserves the "solution of the week" award ;)

he he he...
Jul 17 '05 #15

This discussion thread is closed

Replies have been disabled for this discussion.