Hiển thị kết quả từ 1 đến 8 / 8
  1. #1
    Tham gia
    08-07-2004
    Bài viết
    23
    Like
    0
    Thanked 0 Times in 0 Posts

    Class mail php gửi mail có attach và BCC

    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 ạ
    Quote Quote

  2. #2
    Tham gia
    25-09-2008
    Location
    Hà Lội
    Bài viết
    541
    Like
    0
    Thanked 3 Times in 3 Posts
    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.

  3. #3
    Tham gia
    08-07-2004
    Bài viết
    23
    Like
    0
    Thanked 0 Times in 0 Posts
    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:
    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";
    }
    ?>
    đây là link download 3 file source code của em:

    1) class.phpmailer.php --
    Code:
    http://www.mediafire.com/?5z0zmtiwwc0
    2) class.smtp.php --
    Code:
    http://www.mediafire.com/?jmwyionwndz
    3) mail.php --
    Code:
    http://www.mediafire.com/?ymmlijztf12

  4. #4
    Tham gia
    14-11-2007
    Location
    Hà Nội
    Bài viết
    398
    Like
    1
    Thanked 27 Times in 15 Posts
    Quote Được gửi bởi sa01 View Post
    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 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
    Quote Được gửi bởi sa01 View Post
    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)
    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.

  5. #5
    Tham gia
    08-07-2004
    Bài viết
    23
    Like
    0
    Thanked 0 Times in 0 Posts
    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

  6. #6
    Tham gia
    14-11-2007
    Location
    Hà Nội
    Bài viết
    398
    Like
    1
    Thanked 27 Times in 15 Posts
    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.

  7. #7
    Tham gia
    08-07-2004
    Bài viết
    23
    Like
    0
    Thanked 0 Times in 0 Posts
    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 ...

  8. #8
    Tham gia
    02-11-2008
    Bài viết
    4
    Like
    0
    Thanked 0 Times in 0 Posts

    Attach file smtp mail

    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

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •