어떻게 대량 이메일을 PHP를 사용 밖으로 보내기

PHP에서 ShortLikeAFox에 의해 9 월 2008 년 19 게시됨

So you want to send out a mass email or you want to create a program that can quickly be changed to send out multiple mass emails. PHP는이 쉽습니다. 이 예제에서는 특정 이메일을 보내 내가 당신에게 원하는 이메일 주소의 목록이 맡게된다. 또한 당신은 데이터베이스에서이 목록을 유지하고있다지만, 가정이 코드를 쉽게 하드코드된 이메일 주소 목록 중 하나 또는 다른 소스로부터 목록을 사용하도록 조정할 수있다.

<? PHP는

/ / 먼저 이메일 주소 정보가 포함된 데이터베이스에 연결합니다.
$ 사용자 = "사용자";
$ 호스트 = "호스트";
$ 비밀 번호 = "비밀 번호";
$ 데이터베이스 = "데이터베이스";

( "Couldn’t connect to server" ); cxn 달러 ($ 호스트, $ 사용자, $ 암호) mysql_connect = 아니면 죽음 ( "서버")에 연결할 수없습니다;
mysql_select_db ($ 데이터베이스);

그 이메일 주소가 포함되어있습니다 / / 쿼리 테이블. 채워 자신만의 테이블 이름을 여기에 ...
$ 쿼리 = "선택 *에서 theEmailAddresses";
( mysql_error ($cxn)); $ 결과 = mysql_query ($ 쿼리, $ cxn) 또는 (mysql_error ($ cxn)); 죽어
$ nrows = mysql_num_rows ($ 결과);

/ / 발신자로 누가 발견된다. 여기에 넣을 수있습니다 당신이 뭘 원하지만, 정말 너무 여기에 이메일 주소를 그 곳으로 윤리를 제어하지는 않습니다 아니다.
$ =에서 "보낸 사람 : me@mydomain.com";
/ / 한 표준 이메일의 제목 줄에
$ 주제 = "뭐야 새로운 mydomain.com";
/ / 그 메시지는
$ 메시지 = "안녕, 친구의 가치

우리가 지금 mydomain.com에서 쿠키를 판매하고있다. 그것을 밖으로 확인하시기 바랍니다!
감사합니다,
나를 ";

/ / 우리는 이미 모든 이메일 주소의 쿼리했습니다. 지금은 이메일을 보낼 필요
0 ; $i < $nrows; $i ++ ){= 0 ($ 위해; $ i가 <$ nrows; $ 나 + +) (

$ 행 = mysql_fetch_assoc ($ 결과);
압축을 풉니다 ($ 행);
/ / 바꾸기 $ 이메일 주소의 어떤 이메일라는 칼럼
달러 = "$ 이메일";
/ / 각 이메일에 데이터베이스에서 이메일 보내기
만약 (메일 ($로, $ 제목, $ 메시지, $에서)) (

/ / 이메일의 이름을 인쇄가 성공적으로 보내졌다. 이 단지 프로그램을 동결되지 않았는지 확인하는 데 사용합니다. 이론이 있음을 인쇄되는 이름의 꾸준한해야한다>

); ( "$로 메아리에 <br/>");

)

)




?>

코드의이 비트 () 함수는 PHP 메일의 이점을 취합니다. 이것은 아주 강력하고 기능을 사용하기 쉽습니다. 기억 그게 큰 힘에는 큰 책임이 따른다. 악마를 위해이 기능을 사용하지 않기로 봅니다.

| 댓글

수동으로 삽입하는 방법을 사용자에게 SMF 포럼에 PHP를 사용하는

SMF (간단한 기계 포럼), 7 월 ShortLikeAFox으로 PHP는 28 일, 2008 년 게시됨

이 구체적인 예를 SMF 1.1.5입니다. 나도 다른 버전과 함께 작동하지 않을 수도있습니다.

그래서 간단한 기계 포럼 소프트웨어를 실행하고 수동으로 사용자가 입력하고 싶어? 문제 없어. 저는이 문제를 매우 구체적인 것 같지만 알고있는 아이디어를 여기 Wordpress 포럼과 다른 데이터베이스와 같은 소프트웨어 패키지를 구동의 다른 유형에 적응이 될 수 있다고 설명했다. 전에 우리가 정확히이 일을 어떻게 들어가, 간단한 기계를 어떻게 사용자의 추적 포럼에서 살펴 봅시다. the SMF 데이터베이스에서는 테이블이라고합니다 smf_members. 구조 smf_members 이렇게 보입니다 :

유형 계열

열쇠 기본값 추가
ID_MEMBER mediumint (8) 서명 북서 PRI NULL은 auto_increment
이용자 varchar (80) 북서 MUL
dateRegistered int (10) 서명 북서 MUL 0
게시물 mediumint (8) 서명 북서 MUL 0
ID_GROUP smallint (5) 서명 북서 MUL 0
lngfile tinytext 북서 MUL
lastLogin int (10) 서명 북서 MUL 0
realname tinytext 북서
instantMessages smallint (5) 북서 0
unreadMessages smallint (5) 북서 0
buddy_list 텍스트 북서
pm_ignore_list 텍스트 북서
messageLabels 텍스트 북서
passwd varchar (64) 북서
emailAddress tinytext 북서
personalText tinytext 북서
성별 tinyint (4) 서명 북서 0
생년월일 날짜 북서 MUL 0001-01-01
websiteTitle tinytext 북서
websiteUrl tinytext 북서
위치 tinytext 북서
ICQ tinytext 북서
AIM에 varchar (16) 북서
varchar (32) 북서
MSN 친구 tinytext 북서
hideEmail tinyint (4) 북서 0
showOnline tinyint (4) 북서 1
timeFormat varchar (80) 북서
서명 텍스트 북서
timeOffset 플로트 북서 0
아바타 tinytext 북서
pm_email_notify tinyint (4) 북서 0
karmaBad smallint (5) 서명 북서 0
karmaGood smallint (5) 서명 북서 0
usertitle tinytext 북서
notifyAnnouncements tinyint (4) 북서 1
notifyOnce tinyint (4) 북서 1
notifySendBody tinyint (4) 북서 0
notifyTypes tinyint (4) 북서 2
memberIP tinytext 북서
memberIP2 tinytext 북서
secretQuestion tinytext 북서
secretAnswer varchar (64) 북서
ID_THEME tinyint (4) 서명 북서 0
is_activated tinyint (3) 서명 북서 1
validation_code varchar (10) 북서
ID_MSG_LAST_VISIT int (10) 서명 북서 0
additionalGroups tinytext 북서
smileySet varchar (48) 북서
ID_POST_GROUP smallint (5) 서명 북서 MUL 0
totalTimeLoggedIn int (10) 서명 북서 0
passwordSalt varchar (5) 북서

필드는 우리에게 관심을 지불할 필요 :

  • 이용자 - 셀프 Explanitory.
  • dateRegistered -하지만, 필요하지 않는 경우 날짜를 기입하여 등록 1969년 12월 31일으로 표시됩니다. 날짜 획기적인 타임 스탬프로 저장됩니다. 네 머리에 타임 스탬프를 계산하는 방법을 아세요? 문제 없어. 내가 여기서 발견 무료 발전기를 사용합니다.
  • realname - 삽입해야한다. 난 그냥 여기를 반복했을 때 이용자 모르겠어요.
  • emailAddress - 셀프 Explanitory.
  • 이후 멤버를 수동으로 활성화하는 is_activated - 1로 설정해야합니다.
  • ID_POST_GROUP - 난 거짓말하지 않습니다. 난이 무엇인지 확실 하진 않지만, 항상 4로 설정하고있는 것 같다. 그래서 .... 난 항상 4로 설정합니다. 프로그램에 가장 좋은 방법은 아니지만, 어떻게 할 수 있나요?
  • passwd - 비밀 번호는 당신이 새로운 사용자주고 싶어. SMF 설명서를 어떻게보고있는지를 알아낼 입력없이는 불가능하다. 올바른 코드는 데이터베이스에 대한 SMF 비밀 번호를 암호화하는 방법이 이렇게 보입니다 :

($memberName).$password) $ passwd = sha1 (strtolower ($ 이용자). $ 암호)

코드의 위에 라인에서 $ 암호는 사용자의 실제 암호입니다.

어떻게해야 할지를 :

/ / 먼저, SMF 데이터베이스에 연결

$ 호스트 = "호스트명"; / / 호스트 이름
$ 사용자 = "사용자"; / / mysql의 사용자
$ mypassword는 = "암호"; / / mysql의 비밀 번호
$ db_name = "사용자"; / / 데이터베이스 이름

("cannot connect to server"); "호스트 ("$ mysql_connect, "$ username"을, "$ mypassword"는) 또는 죽을 ( "서버")에 연결할 수없습니다;
("cannot select DB"); mysql_select_db ( "$ db_name") 또는 죽을 ( "") DB를 선택할 수없습니다;

$ 이용자 = "아이언맨";
$ realname = "토니 스탁";
$ emailAddress = "ironMan@ironMan.com";
$ = 1 is_activated;
$ ID_POST_GROUP = 4;

$ 비밀 번호 = "Tony1234";

($memberName).$password); $ 비밀 번호 = sha1 (strtolower ($ 이용자). $ 암호);

$ = 1,216,951,200 dateRegistered; / / 2008년 7월 25일 오전 2시

$ 쿼리 = "삽입으로, '$'emailAddress, '$'is_activated, '$ realname', '$ 이용자'(,, emailAddress, ID_POST_GROUP, dateRegistered passwd is_activated realname) 이용자의 값 ( '$ smf_members ID_POST_GROUP', ' $ 비밀 번호 ','$ dateRegistered ') ";
("SMF Error 101.234 "); $ 결과 = mysql_query ($ 쿼리) 또는 죽을 ( "SMF 오류 101.234");

그 모든 것들이 그것입니다!

| 댓글