2014-08-29 71 views
-1

我試圖從MySQL數據庫表中的「selectedoption」列中獲取具有「全部」的電子郵件,然後向其發送電子郵件。從MySQL獲取電子郵件並向其發送電子郵件

這是我的PHP代碼:

<?php 

    include("config.php"); 

    $con = mysql_connect($opt_host, $opt_user, $opt_pw); 
    if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 

    $db_selected = mysql_select_db("databasename_",$con); 

    $result = mysqli_query($con,"SELECT * FROM optins"); 

    if(mysql_num_rows($selectedoption == "all") 
    { 
    while($selectedoption_result = mysql_fetch_array($selectedoption)) 
    { 
     $opt_name = "Name: Advisor\n" 
     $opt_header = "From: $MYEMAILADDRESS\n" 
     $opt_subject = "Test"; 
     $opt_email_to = "$email"; 
     $opt_message = "Hey $name\n" 
      . "\n" 
      . "Message.\n" 
      . "\n" 
      . "\n" 
      . "Click Here To Unsubscribe."; 

     @mail($opt_email_to, $opt_subject ,$opt_message ,$opt_header, $opt_name) ; 
    } 
    } 
    echo("<p align='center'><font face='Arial' size='3' color='#FF0000'>Email Sent Out</font></p>"); 

?> 

什麼是從MySQL表中選擇一列字段和發送電子郵件到與該列相關聯的收件人的正確方法?

+0

你錯過了在'mysql_num_rows'線括號。而且參數也是錯誤的。你的桌子甚至命名爲'optins'? – 2014-08-29 10:31:52

+0

是的,我對PHP很陌生,請隨身攜帶。 – 2014-08-29 10:55:56

+0

您正在使用[an **過時的**數據庫API](http://stackoverflow.com/q/12859942/19068)並應使用[現代替換](http://php.net/manual/en/ mysqlinfo.api.choosing.php)。 – Quentin 2014-08-29 10:58:18

回答

0

試試這個:

if(mysql_num_rows($result)>0){ 
    while($row = mysql_fetch_array($result)){ 
     $opt_name = "Name: ".$row['name_column']."\n"; 
     $opt_header = "From: $opt_name <$YOUREMAIL>"; 
     $opt_subject = "Test"; 
     $opt_email_to = $row['email_column']; 
     $opt_message = "Hey $opt_name\n" 
     . "\n" 
     . "Message.\n" 
     . "\n" 
     . "\n" 
     . "Click Here To Unsubscribe."; 

     @mail($opt_email_to, $opt_subject ,$opt_message ,$opt_header) ; 
    } 
} 
+0

不幸的是,沒有工作。 opt_name旨在成爲發送電子郵件的電子郵件的名稱。 – 2014-08-29 10:52:25

+0

對不起,我只關注mysql部分。立即嘗試編輯的版本。雖然我很困惑,爲什麼發送者和接收者的名字在'Hey $ opt_name \ n'中是相同的 – younis 2014-08-29 10:58:50

+0

請參閱http://php.net/manual/en/function.mail.php – younis 2014-08-29 11:00:07

1
<?php 
include("config.php"); 

$mysqli = new mysqli($opt_host, $opt_user, $opt_pw, "databasename_"); 
if ($mysqli->connect_errno) 
{ 
    die('Could not connect: ' . $mysqli->connect_error); 
} 

$result = $mysqli->query("SELECT * FROM options WHERE selectedoption == 'all'"); 

$opt_name = "Name: Advisor \n"; 
$youremail = "[email protected]"; 

while ($row = $result->fetch_assoc()) { 
    $opt_header = "From: " . $opt_name . "<" . $youremail . ">" . "\r\n"; 
    $opt_subject = "Test"; 
    $opt_email_to = $row['email_column']; 
    $opt_message = "Hey " . $row['name_column'] . "\n" 
     . "\n" 
     . Message . "\n" 
     . "\n" 
     . "\n" 
     . "Click Here To Unsubscribe."; 

    @mail($opt_email_to, $opt_subject, $opt_message, $opt_header) ; 
} 

echo("<p align='center'><font face='Arial' size='3' color='#FF0000'>Emails Sent Out</font></p>"); 

?>