Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > ขอถามเรื่อง Mailing List ของระบบการส่งE-mail ครับ (หัดเขียนครับ)



 

ขอถามเรื่อง Mailing List ของระบบการส่งE-mail ครับ (หัดเขียนครับ)

 



Topic : 063707



โพสกระทู้ ( 9 )
บทความ ( 0 )



สถานะออฟไลน์




ขอ Code การเขียนโปรแกรมระบบการส่งอีเมลล์ หน้า mailing list แบบเลือกที่จะส่งกลุ่มไหนหรือคนไหนได้
คือตอนนี้ระบบสามารถส่งได้ แต่ไม่สามารถเลือกผู้รับได้(คือจะส่งให้ทุกคนที่อยู่ในฐานข้อมูล) อยากให้สามารถเลือกคนที่จะรับได้ครับ
มือใหม่จริงๆ ขอบคุณมากๆครับ



Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-07-25 14:36:32 By : 7077 View : 2375 Reply : 11
 

 

No. 1



โพสกระทู้ ( 3,844 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์
Twitter Facebook

(คือจะส่งให้ทุกคนที่อยู่ในฐานข้อมูล)

ถ้าส่งให้ทุกคน ก็ Select เอาอีเมล์มาทั้งหมด
แล้ววนลูป while ส่งเมล์ก็ได้ครับ
แต่ถ้าปริมาณมากๆ อาจทำให้เซิร์ฟล่มได้น่ะครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-25 16:51:04 By : mangkunzo
 


 

No. 2



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ผมเขียน concept ให้ครับ ตามนี้ครับ

คือในตารางลูกค้าน่ะครับจะต้องมี status บอกว่าส่งไปแล้วหรือยัง


Code (PHP)
$strSQL = "SELECT * FROM customer WHERE status = 'N' LIMIT 0,20 ";


เลือกเฉพาะลูกค้าที่ยังไม่ได้ส่ง เลือกครั้งล่ะ 20 คน ป้องกัน Server ล่ม


ถ้าส่งแล้วให้ Update ดังนี้ครับ

Code (PHP)
mysql_query("UPDATE customer  SET status = 'Y' WHERE Email = '".$objResult["Email"]."' ");


Code เต็ม ๆ

Code (PHP)
<?
$objConnect = mysql_connect("localhost","root","1234") or die("Error Connect to Database");
$objDB = mysql_select_db("customer");
$strSQL = "SELECT * FROM customer WHERE status = 'N' LIMIT 0,20 ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
while($objResult = mysql_fetch_array($objQuery))
{

$strTo = $objResult["Email"];
$strSubject = "Test Send Email";
$strHeader = "Content-type: text/html; charset=windows-874\n"; // or UTF-8 //
$strHeader .= "From: apinya \nReply-To: [email protected]";
$strVar = "My Message";
$strMessage = "
<h1>My Message</h1><br>
<table width='285' border='1'>
<tr>
<td><div align='center'><strong>My Message </strong></div></td>
<td><div align='center'><font color='red'>My Message</font></div></td>
<td><div align='center'><font size='2'>My Message</font></div></td>
</tr>
<tr>
<td><div align='center'>My Message</div></td>
<td><div align='center'>My Message</div></td>
<td><div align='center'>My Message</div></td>
</tr>
<tr>
<td><div align='center'>".$strVar."</div></td>
<td><div align='center'>".$strVar."</div></td>
<td><div align='center'>".$strVar."</div></td>
</tr>
</table>";

@mail($strTo,$strSubject,$strMessage,$strHeader); // @ = No Show Error //
mysql_query("UPDATE customer  SET status = 'Y' WHERE Email = '".$objResult["Email"]."' ");
}
?>


Code นี้จะส่งครั้งล่ะ 20 คน โดยจะต้อง Refresh เรื่อย ๆ จนกว่าจะสงหมด หรือจะใช้ การ Refresh ด้วย Meta Tag


Code
<META HTTP-EQUIV="Refresh" CONTENT="30;URL=sendmail.php">


เอาตัวนี้ไปใส่ก็จะ Refresh ทุก ๆ 30 วินาทีอัตโนมัติ


Go to : ถ้าเราวนลูปส่งเมล์จากฐานข้อมูลดาต้าเบสค่ะ แล้วจะเขียนอัพเดทสถานะอีเมลล์ที่ส่งแล้วได้ยังงัยค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-25 16:58:44 By : webmaster
 

 

No. 3



โพสกระทู้ ( 9 )
บทความ ( 0 )



สถานะออฟไลน์


ขออีกหน่อยครับ
ถ้าจะเขียนให่มี เช็คบ็อก ที่สามารถติ๊กเครื่องหมายถูก เลือกผู้รับเลย(แบบทีละคน) จะต้องเพิ่มตรงไหนมั่งครับ
ขอบคุณมากครับ มือใหม่จริงๆ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-26 01:21:02 By : 7077
 


 

No. 4



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

Code (php_mail1.php)
<html>
<head>
<title>ThaiCreate.Com PHP & MySQL Tutorial</title>
</head>
<body>
<script language="JavaScript">
	function onDelete()
	{
		if(confirm('Do you want to send mail ?')==true)
		{
			return true;
		}
		else
		{
			return false;
		}
	}
</script>
<form name="frmMain" action="php_mail2.php" method="post" OnSubmit="return onDelete();">
<?
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("mydatabase");
$strSQL = "SELECT * FROM customer";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>
<table width="600" border="1">
  <tr>
    <th width="91"> <div align="center">CustomerID </div></th>
    <th width="98"> <div align="center">Name </div></th>
    <th width="198"> <div align="center">Email </div></th>
    <th width="97"> <div align="center">CountryCode </div></th>
    <th width="59"> <div align="center">Budget </div></th>
    <th width="71"> <div align="center">Used </div></th>
    <th width="30"> <div align="center">Delete </div></th>
  </tr>
<?
while($objResult = mysql_fetch_array($objQuery))
{
?>
  <tr>
    <td><div align="center"><?=$objResult["CustomerID"];?></div></td>
    <td><?=$objResult["Name"];?></td>
    <td><?=$objResult["Email"];?></td>
    <td><div align="center"><?=$objResult["CountryCode"];?></div></td>
    <td align="right"><?=$objResult["Budget"];?></td>
    <td align="right"><?=$objResult["Used"];?></td>
    <td align="center"><input type="checkbox" name="chkSend[]" value="<?=$objResult["Email"];?>"></td>
  </tr>
<?
}
?>
</table>
<?
mysql_close($objConnect);
?>
<input type="submit" name="btnDelete" value="Delete">
</form>
</body>
</html>


Code (php_mail2.php)
<html>
<head>
<title>ThaiCreate.Com PHP & MySQL Tutorial</title>
</head>
<body>
<?
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("mydatabase");

	for($i=0;$i<count($_POST["chkSend"]);$i++)
	{
		if($_POST["chkSend"][$i] != "")
		{
			$strTo = $_POST["chkSend"][$i];
			$strSubject = "Test Send Email";
			$strHeader = "Content-type: text/html; charset=windows-874\n"; // or UTF-8 //
			$strHeader .= "From: Mr.Weerachai Nukitram<[email protected]>\nReply-To: [email protected]";
			$strVar = "My Message";
			$strMessage = "
			<h1>My Message</h1><br>
			<table width='285' border='1'>
			 <tr>
			 <td><div align='center'><strong>My Message </strong></div></td>
			 <td><div align='center'><font color='red'>My Message</font></div></td>
			 <td><div align='center'><font size='2'>My Message</font></div></td>
			 </tr>
			 <tr>
			 <td><div align='center'>My Message</div></td>
			 <td><div align='center'>My Message</div></td>
			 <td><div align='center'>My Message</div></td>
			 </tr>
			 <tr>
			 <td><div align='center'>".$strVar."</div></td>
			 <td><div align='center'>".$strVar."</div></td>
			 <td><div align='center'>".$strVar."</div></td>
			 </tr>
			</table>";

			@mail($strTo,$strSubject,$strMessage,$strHeader);
		}
	}

	echo "Record Deleted.";

mysql_close($objConnect);
?>
</body>
</html>


Go to : PHP + Checkbox + Send Mail ขอแนวคิดหน่อยครับถ้าผมต้องการจะส่งอีเมลล์์โดยมีข้อมูลจากดาต้าเบส โดยการติ๊กจาก checkbox หลายรายการ

Go to : เขียนโค้ด php ให้โปรแกรมทำงานโดยส่งเมล์เกี่ยวกับโปรโมชั่นไปหาลูกค้าได้เอง แล้วเลือกอีเมล์ของลูกค้ามาจากฐานข้อมูลได้อย่างไรค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-26 06:30:22 By : webmaster
 


 

No. 5



โพสกระทู้ ( 9 )
บทความ ( 0 )



สถานะออฟไลน์


Code (PHP)
ช่วยแก้โค้ดให้ทีครับ แก้ยังไงก็ไม่สามารถ ทำให้เลือกอีเมล์

จากฐานข้อมูลได้


Code (create_table)
[php]<?php
@mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("mailinglist");

$sql = "CREATE TABLE mailinglist(
		 	name VARCHAR(40),
		 	email VARCHAR(50) UNIQUE);";
		
mysql_query($sql);
?>


Code (mail)
<body>
<h2>Send Email</h2>
<?php
if($_POST) {
	
	set_time_limit(0);		
	
	$subject = htmlspecialchars(stripslashes($_POST['subject']));
	$msg = htmlspecialchars(stripslashes($_POST['msg']));
	
	$header = "From: [email protected]\r\n";
	$header .= "Content-type: text/html; charset=tis-620\r\n";

	@mysql_connect("localhost", "root", "") or die(mysql_error());
 	mysql_select_db("mailinglist");
	
	$sql = "SELECT * FROM mailinglist;";
	$result = mysql_query($sql);
	
	
	while($data = mysql_fetch_array($result)) {
		$to = $data['email'];

		mail($to, $subject, $msg, $header);
	}

	echo "Sending completed.
 			</body></html>";
	exit;
}
?>
<form id="form1" name="form1" method="post" action="<?php	echo $_SERVER['PHP_SELF']; ?>">
  Subject:<br />
  <label>
  <input name="subject" type="text" id="subject" size="43" />
  </label>
  <br />
  Text:<br />
<label>
<textarea name="msg" cols="40" rows="3" id="msg"></textarea>
</label>
<br />
<br />
<label>
<input type="submit" name="Submit" value="Send" />
</label>
</form>
</body>
</html>
<html>


Code (membership)
<body>
<h2>Register</h2>
<?php
if($_POST) {
	$name = stripslashes($_POST['name']);
	$email = $_POST['email'];
	
	$errmsg = "";
	
	if(empty($name)) {
		$errmsg .= "Not yet been determined. <br />";
	}
	else if(!filter_var($email, FILTER_VALIDATE_EMAIL)) {
		$errmsg .= "Incorrect <br />";
	}

	if($errmsg != "") {
		echo $errmsg;
		echo "<a href=\"javascript: hostory.back();\">Go back.</a>
				</body></html>";
		exit;
	}
	
	@mysql_connect("localhost", "root", "") or die(mysql_error());
 	mysql_select_db("mailinglist");
	
	
	$sql = "SELECT COUNT(*) FROM mailinglist
	 			WHERE email = '$email';";
	$result = mysql_query($sql);
	$count = mysql_result($result, 0, 0);
	
	$purpose = $_POST['purpose'];
	
	if($purpose == "subscribe") {
		
		if($count == 1) {
			echo "Exists.";
		}
		else {
			$sql = "INSERT INTO mailinglist VALUES('$name', '$email');";
			@mysql_query($sql) or die(mysql_error());
	
			echo "Data is stored. <p />";
		}
	}
	else if($purpose == "unsubscribe") {
		
		if($count == 0) {
			echo "Not Found";
		}
		else {
			$sql = "DELETE FROM mailinglist WHERE email = '$email';";
			@mysql_query($sql) or die(mysql_error());
	
			echo "Information deleted <p />";	
		}
	}
	else {
		echo "Choose purposes.";
	}
}
?>
<form id="form1" name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
  Name: 
  <label> </label>
  <label><br />
  <input name="name" type="text" id="name" size="30" />
  </label>
  <br />
Email:<br />
<label>
<input name="email" type="text" id="email" size="30" />
</label>
<br />
<label>
<input name="purpose" type="radio" value="subscribe" />
submit</label>
 <label>
 <input name="purpose" type="radio" value="unsubscribe" />
 Unsubscribe</label>
 <br />
 <br />
 <label>
 <input type="submit" name="Submit" value="Enter" />
 </label>
</form>
</body>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-26 20:11:52 By : 7077
 


 

No. 6



โพสกระทู้ ( 9 )
บทความ ( 0 )



สถานะออฟไลน์


ช่วยทีครับ ทำไมได้จริงๆ ขอบคุณมากครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-27 23:56:49 By : 7077
 


 

No. 7



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

คุณก็เกือบทำได้แล้วนี่ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-28 06:41:59 By : webmaster
 


 

No. 8



โพสกระทู้ ( 9 )
บทความ ( 0 )



สถานะออฟไลน์


ต้องเพิ่มส่วนไหนของโคดเพื่อจะสามารถเลือกผู้ส่งและเชื่อมกับฐานข้อมูลได้ครับ
คือตอนนี้ทำให้มันเลือกอีเมลจากฐานข้อมูลไม่ได้

ขอโทษที่ต้องตั้งถามบ่อยๆครับ มือใหม่ขอโทษจริงๆครับ ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-28 15:05:05 By : 7077
 


 

No. 9



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

คุณติดตรงไหนครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-28 17:05:04 By : webmaster
 


 

No. 10



โพสกระทู้ ( 9 )
บทความ ( 0 )



สถานะออฟไลน์


ต้องการจะทำ checkbox เลือกอีเมล์จากฐานข้อมูล ต้องเพิ่มตรงไหนบ้างครับ ลองมาหลายวิธีแล้วไม่ได้ซักทีช่วยดูให้ทีนะครับ
ขอบคุณมากครับพี่วิน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-28 20:04:44 By : 7077
 


 

No. 11



โพสกระทู้ ( 9 )
บทความ ( 0 )



สถานะออฟไลน์


ตอนนี้สามารถเลือกผู้รับได้แล้วครับแต่เหลืออย่างเดียวคือ ส่งอีเมล์ไม่ได้ครับ ช่วยดูให้ทีนะครับว่าผิดพลาดตรงไหนเลยส่งไม่ได้
ขอบคุณมากครับ
Code (PHP)
$error = "Couldn't connect";   
    
$connect = mysql_connect ("localhost", "root", "") or die ($error);
mysql_select_db ("mail") or die ($error);



Code (index)
require ('connect.php') ;

echo "<h1>Mailing list</h1>Send to<p>";


$mailcount = 0;
$namecount = 0;

$get=mysql_query ("SELECT * FROM mail WHERE send='1'");

echo "<form action='send.php' method='GET'>";
while ($getrow = mysql_fetch_assoc($get))

{
 echo "<input type = 'checkbox' name = 'mail_'".$mailcount++."' value = '".$getrow['email']."' CHECKED>".$getrow['firstname']. " " . $getrow['lastname']." (".$getrow['email'].")
<input type = 'hidden' name='name_".$namecount++."' value='".$getrow['firstname']."'>
<br>";
}

echo "<p>
Message:<br>
<textarea name='message'></textarea><p>
<input type='submit' name='submit' value='Send'>
</form>"


Code (send)
require ('connect.php') ;

ini_set("SMTP", "mailhost.gmail.com");

$headers = "From: [email protected]";

$message = $_GET ['message'];

for($x=0;$x<count($_GET);$x++)
{

if($_GET["mail_$x"])
  {
      $to = $_GET ["mail_$x"];
      $subject = "Newsletter";
      $body = "Dear ".$_GET["name_$x"]."
      \n\n $message \n\n";
      
      mail($to, $subject, $body, $headers);
  }
    
}

echo " Send Success";



ประวัติการแก้ไข
2011-08-01 00:55:03
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-01 00:48:38 By : 7077
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ขอถามเรื่อง Mailing List ของระบบการส่งE-mail ครับ (หัดเขียนครับ)
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่