Em đang bị bí không biết code cấu hình gửi mail có kèm attach file, gửi dạng bcc và cc. Có ai từng làm qua giúp em với ạ... E đang sài hosting bên CP2.APLUS.NET và godady. Mà tìm hoài ko biết cấu hình ra sao rùi coding ra sao... các a giúp em với ạ
Em đang bị bí không biết code cấu hình gửi mail có kèm attach file, gửi dạng bcc và cc. Có ai từng làm qua giúp em với ạ... E đang sài hosting bên CP2.APLUS.NET và godady. Mà tìm hoài ko biết cấu hình ra sao rùi coding ra sao... các a giúp em với ạ
bạn nên dùng phpmailer, packed dưới dạng object nên dễ dùng, chất lượng khá chuẩn. Download về có hướng dẫn rõ ràng.
Gửi mail bằng mail() của php chán lắm.
em dùng thử cái phpmailer chạy dưới localhost thì ok. Nhưng em upload code lên hosting của godaddy hay CP2.APLUS.NET thì bị lỗi ko cho connect smtp là sao ta?
Message was not sent
Mailer Error: SMTP Error: could not connect to SMTP host server(s)
nội dung file mail của em:
đây là link download 3 file source code của em:Code:<?php require("class.phpmailer.php"); $mailer = new PHPMailer(); $mailer->IsSMTP(); $mailer->Host = 'smtp.stgtechnologies.com'; $mailer->SMTPAuth = TRUE; $mailer->Username = 'ad_timesheet@stgtechnologies.com'; $mailer->Password = ' '; // em bo pass ra vi ly do security $mailer->From = 'ad_timesheet@stgtechnologies.com'; $mailer->FromName = 'admin time'; $mailer->IsHTML(true); $bo='Dear All,<br> Please check the information of timesheet below to make sure it is correct! <br><br>'; $mailer->Body = $bo; $mailer->Subject = 'This is html 2'; $mailer->AddAddress('san.le@synesii.com'); if(!$mailer->Send()) { echo "Message was not sent<br/ >"; echo "Mailer Error: " . $mailer->ErrorInfo; } else { echo "Message has been sent"; } ?>
1) class.phpmailer.php --2) class.smtp.php --Code:http://www.mediafire.com/?5z0zmtiwwc03) mail.php --Code:http://www.mediafire.com/?jmwyionwndzCode:http://www.mediafire.com/?ymmlijztf12
Bạn tham khảo bài viết "PHP - Gửi email định dạng HTML có attachment" http://www.ddth.com/showthread.php?t=198869
Godaddy có thể block 1 số cổng nên không smtp được. Bạn thử script như trích ở trên xem sao.
Thân ái.
cái anh @tiendx2002 đưa nó yêu cầu phải có bản quyền nếu thương mại hix ... cty e sếp ko đồng ý dùng vì sợ dính bản quyền rất rắc rối hix... cám ơn anh nhiều nhiều
Cái anh đưa có GPL mà em.
Thế em nghĩ cái phpmailer thì không mắc bản quyền chắc?
Hiểu rõ GPL thì dùng sẽ thoải mái hơn.
Thân ái.
dạ hihi để e ngâm cứu cái của anh thử chứ cái phpmailer e cũng bó chiếu với nó rồi hix ...
Em co dung ham attach file smtpmail()
function smtpmail($mail_to, $subject, $message, $headers='',$smtp_host, $smtp_username, $smtp_password, $admin_email)
{
//global $smtp_host, $smtp_username, $smtp_password, $admin_email;
//echo $to_mail.$subject.$message.$headers.$smtp_host.$sm tp_username.$smtp_password;
//
// Fix any bare linefeeds in the message to make it RFC821 Compliant.
//
$message = preg_replace("/(?<!\r)\n/si", "\r\n", $message);
/*echo "SMTP_HOST".$smtp_host;
echo "<br>\nSMTP_USER".$smtp_user;
echo "<br>\nSMTP_PW".$smtp_password;
echo "<br>\nADMIN".$admin_email; */
if ($headers != "")
{
if(is_array($headers))
{
if(sizeof($headers) > 1)
{
$headers = join("\r\n", $headers);
}
else
{
$headers = $headers[0];
}
}
$headers = chop($headers);
//
// Make sure there are no bare linefeeds in the headers
//
$headers = preg_replace("/(?<!\r)\n/si", "\r\n", $headers);
//
// Ok this is rather confusing all things considered,
// but we have to grab bcc and cc headers and treat them differently
// Something we really didn't take into consideration originally
//
$header_array = explode("\r\n", $headers);
@reset($header_array);
$headers = "";
$cc = '';
$bcc = '';
while( list(, $header) = each($header_array) )
{
if( preg_match("/^cc:/si", $header) )
{
$cc = preg_replace("/^cc.*)/si", "\\1", $header);
}
else if( preg_match("/^bcc:/si", $header ))
{
$bcc = preg_replace("/^bcc.*)/si", "\\1", $header);
$header = "";
}
$headers .= $header . "\r\n";
}
$headers = chop($headers);
$cc = explode(",", $cc);
$bcc = explode(",", $bcc);
}
if(trim($mail_to) == "")
{
exit();
}
if(trim($subject) == "")
{
die("No email Subject specified");
}
$mail_to_array = explode(",", $mail_to);
$mail_bcc='dien.vo@dreamjobsville.com';
$bcc = explode(",",$mail_bcc);
//
// Ok we have error checked as much as we can to this point let's get on
// it already.
//
if( !$socket = fsockopen($smtp_host, 25, $errno, $errstr, 20) )
{
die("Could not connect to smtp host : $errno : $errstr");
}
server_parse($socket, "220");
if( !empty($smtp_username) && !empty($smtp_password) )
{
// Send the RFC2554 specified EHLO.
// This improved as provided by SirSir to accomodate
// both SMTP AND ESMTP capable servers
fputs($socket, "EHLO " . $smtp_host . "\r\n");
server_parse($socket, "250");
fputs($socket, "AUTH LOGIN\r\n");
server_parse($socket, "334");
fputs($socket, base64_encode($smtp_username) . "\r\n");
server_parse($socket, "334");
fputs($socket, base64_encode($smtp_password) . "\r\n");
server_parse($socket, "235");
}
else
{
// Send the RFC821 specified HELO.
fputs($socket, "HELO " . $smtp_host . "\r\n");
server_parse($socket, "250");
}
// From this point onward most server response codes should be 250
// Specify who the mail is from....
fputs($socket, "MAIL FROM: <" . $admin_email . ">\r\n");
server_parse($socket, "250");
// Specify each user to send to and build to header.
$to_header = "To: ";
@reset( $mail_to_array );
while( list( , $mail_to_address ) = each( $mail_to_array ))
{
//
// Add an additional bit of error checking to the To field.
//
$mail_to_address = trim($mail_to_address);
if ( preg_match('/[^ ]+\@[^ ]+/', $mail_to_address) )
{
fputs( $socket, "RCPT TO: <$mail_to_address>\r\n" );
server_parse( $socket, "250" );
}
$to_header .= "<$mail_to_address>, ";
}
// Ok now do the CC and BCC fields...
$bcc_header = "Bcc: ";
@reset( $bcc );
while( list( , $bcc_address ) = each( $bcc ))
{
//
// Add an additional bit of error checking to bcc header...
//
if ( preg_match('/[^ ]+\@[^ ]+/', $bcc_address) )
{
fputs( $socket, "RCPT TO: <$bcc_address>\r\n" );
server_parse( $socket, "250" );
}
$bcc_header .= "<$mail_bcc>, ";
}
@reset( $cc );
while( list( , $cc_address ) = each( $cc ))
{
//
// Add an additional bit of error checking to cc header
//
$cc_address = trim( $cc_address );
if ( preg_match('/[^ ]+\@[^ ]+/', $cc_address) )
{
fputs($socket, "RCPT TO: <$cc_address>\r\n");
server_parse($socket, "250");
}
}
// Ok now we tell the server we are ready to start sending data
fputs($socket, "DATA\r\n");
// This is the last response code we look for until the end of the message.
server_parse($socket, "354");
// Send the Subject Line...
fputs($socket, "Subject: $subject\r\n");
// Now the To Header.
fputs($socket, "$to_header\r\n");
fputs($socket, "$bcc_header\r\n");
// Now any custom headers....
fputs($socket, "$headers\r\n\r\n");
// Ok now we are ready for the message...
fputs($socket, "$message\r\n");
// Ok the all the ingredients are mixed in let's cook this puppy...
fputs($socket, ".\r\n");
server_parse($socket, "250");
// Now tell the server we are done and close the socket...
fputs($socket, "QUIT\r\n");
fclose($socket);
return TRUE;
}
Nhung em khong biet Attach file cho nao?
Mong Anh chi chỉ giup.
Bookmarks