คือผมทำ form to mail php ธรรมดา ๆ หน้าฟอร์ม กด Submit แล้ว POST ไป send.php
สิ่งที่ผมต้องการคือ แทนที่จะส่งไปยังอีเมลที่เรากำหนดไว้ปกติเป็น $tomail แต่อยากให้ ส่งให้ 6 อีเมล คือ ตัวแปร เมลที่1 ,เมลที่2 , เมลที่3 ,... , เมลที่6 วนกันไปเรื่อย ๆ โดยส่งให้ครั้งละ 1 อีเมลนะครับ
ใครพอมีไอเดียบ้างครับ อ้อ ไม่ใช้ db ด้วยครับ แต่คิดว่าเขียนลง txt น่าจะทดแทนกันได้ มีฟังชั่นอะไรที่ php เตรียมไว้น่าจะเอามาใช้ได้บ้าง
ช่วยกันระดมความคิดหน่อยครับ ขอบคุณล่วงหน้าครับ
:wanwan017:
วนลูปเอาสิครับ
จะเก็บรายชื่อเมล์ไว้ในไฟล์ txt หรือจะเก็บเป็นตัวแปรใน script เลยก็ได้ครับ
หรือจะใช้ header:cc หรือ bcc ก็ได้ครับ แบบนั้นส่งทีเดียว ไปหมด.... แต่จะไปตกถังขยะซะเป็นส่วนใหญ่
วนลูปกับเก็บตัวแปรในสคริป ผมว่าไม่น่าจะได้ เพราะอะไรจะเป็นตัวกำหนดว่าการ submit แต่ละครั้ง ข้อมูลจะวนไปเข้าครั้งละ 1 อีเมล ตามลำดับไปเรื่อย ๆ
cookies ก็ไม่น่าเกี่ยว เพราะคนเข้ามากรอกคนละเครื่องกัน
เอาไงต่อดี คิดจนปวดหมอง - -"
งง ฮ่ะๆๆ
ส่งครั้ง ล่ะ 6 เมล์หรอคับ
หรือว่า
ครั้งแรกเมล์ 1 ครั้ง 2 เมล์2 ครั้ง 7 เมล์ 7 ประมาณนี้หรอคับ
:P :P
อ้างถึงจาก: ThaNaButS ใน 06 กรกฎาคม 2010, 21:51:18
งง ฮ่ะๆๆ
ส่งครั้ง ล่ะ 6 เมล์หรอคับ
หรือว่า
ครั้งแรกเมล์ 1 ครั้ง 2 เมล์2 ครั้ง 7 เมล์ 7 ประมาณนี้หรอคับ
:P :P
คนเข้ามา submit ครั้งแรก ส่งเข้าเมลที่หนึ่ง
submit ครั้งที่สอง ส่งเข้าเมลที่สอง
...
submit ครั้งหก ส่งเข้าเมลที่หก
submit ครั้งเจ็ด ส่งเข้าเมลที่หนึ่ง วนไปเรื่อย ๆ ถ้ามีการ submit เข้ามาอีก แบบนี้อ่าครับ :wanwan011:
ทำตัว counter เพิ่มเข้าไปใน file send.php เก็บเป็น text file ครับ ถ้า coun ถึง 6 ก้อรีเซ็ตเป็น 1 ใหม่ เอาตัวเลขที่เก็บใน counter.txt เป็นตัวกำหนดเงื่อนไข การส่งเมล์ น่าจะได้นะ :wanwan019:
น่าจะใช้ได้ ขอบคุณครับ ขอลองดูก่อน +1
เก็บ text field นับ counter อย่างด้านบนก็ได้
หรือเก็บลง baseถ้าเมลเยอะ สร้าง 2 ฟิลด์ ชื่อเมลกับสถานะ
ส่งแล้วก็ปรับสถานะเป็นแบบอื่น
ถ้าจะ reset สถานะ ก็นับว่าส่งไปกี่เมลแล้วให้ reset ก็ได้ หรือจับ last record แล้ว reset ก็ได้
บอกไว้ก่อน ยังไงก็ไม่พ้น spam หรอก
<?
function send_multimail($message, $recipient_email = Array(), $replace = Array())
{
foreach($replace as $str){
$txt[] = vsprintf($message, $str);
}
//print_r($txt); //debug
$subject = "=?utf-8?B?".base64_encode("ชื่อเรืองภาษาไทยก็ได้")."?=";
$header = "MIME-Version: 1.0\r\n";
$header .= "Content-type: text/plain; charset=utf-8\r\n";
$header .= "From:
[email protected]\r\n";
$header .= "Reply-To:
[email protected]\r\n";
$i=0;
foreach($recipient_email as $to){
mail($to, $subject, $txt[$i], $header);
$i++;
}
}
// Send multi email
$message ="test send mail to %s";
send_multimail($message, Array('
[email protected]','
[email protected]','
[email protected]','
[email protected]'),Array('
[email protected]','
[email protected]','
[email protected]','
[email protected]'));
?>
ส่งได้หลายอีเมล์ แต่ข้อความเดียวกัน จะวนลูปส่งจนครับตามอาเรย์ แต่ถ้าอยากให้หลายข้อความแตกต่างกันก็ดัดแปลงเอาไม่ยากครับ :wanwan002:
วนรูปง่ายดีครับ ใช้อเรย์ช่วยเลย ตามด้านบนก็แจ่มครับ