php發送附件
!
需要在PHP.ini里設置以下幾項:
1.
post_max_size
=10M
表單提交最大數據為10M.此項不是限制上傳單個文件的大小,而是針對整個表單的提交數據進行限制的.
2.file_uploads
=
On
是否允許上傳文件,如果為OFF您將不能上傳文件.
3.upload_tmp_dir
=
"D:/APM/PHP/uploadtemp/"
上傳文件時系統使用的緩存目錄.如果此目錄所在磁碟空間不足的話您將不能上傳文件.
4.upload_max_filesize
=2M
最大上傳文件大小,此項針對上傳文件時單個文件的大小.
與post_max_size之間的關系:
在論壇發表貼子時,您post_max_size
設為10M,而此項設成了2M,那麼您只能上傳最大為2M的附件,且可以同時上傳5個.
注意:很多人遇到修改php.ini後重應WEB服務後仍然不能生效.這種情況應該先確認一下所改的php.ini是不是當前PHP所使用的.
您可以在WEB目錄下建立一個php文件,內容很簡單就一句話
代碼:
<?
② php 郵件如何配置附件的路徑
建議使用PHPEmailer發送郵件,使用非常簡單:
require('class.phpmailer.php');
$mail = new PHPMailer(); //實例化
$mail->IsSMTP(); // 啟用SMTP
$mail->Host = "smtp.163.com"; //SMTP伺服器 163郵箱例子
$mail->Port = 25; //郵件發送埠
$mail->SMTPAuth = true; //啟用SMTP認證
$mail->CharSet = "UTF-8"; //字元集
$mail->Encoding = "base64"; //編碼方式
$mail->Username = "[email protected]"; //你的郵箱
$mail->Password = "xxx"; //你的密碼
$mail->Subject = "xxx你好"; //郵件標題
$mail->From = "[email protected]"; //發件人地址(也就是你的郵箱)
$mail->FromName = "xxx"; //發件人姓名
$address = "[email protected]";//收件人email
$mail->AddAddress($address1, "xxx1"); //添加收件人1(地址,昵稱)
$mail->AddAttachment('xx.xls','我的附件.xls'); // 添加附件,並指定名稱
$mail->AddAttachment('xx1.xls','我的附件1.xls'); // 可以添加多個附件
$mail->IsHTML(true); //支持html格式內容
$mail->Body = '你好, <b>朋友</b>! <br/>這是一封郵件!'; //郵件主體內容
//發送
if(!$mail->Send()) {
echo "發送失敗: " . $mail->ErrorInfo;
} else {
echo "成功";
}
③ php里的phpmailer類庫,如何發送一個大文件附件
電子郵件本身就不支持這么大的附件。
分卷壓縮發送出去。
大附件功能其實是把文件上傳到雲端,然後生成地址,收郵件的人通過地址到雲端取回來。
④ 關於php發送附件的問題
代碼應該可以,你的表單怎麼創建的,給你舉個例子
<form name="form1" enctype="multipart/form-data" method="post" action="sendadd.php">
enctype="multipart/form-data"
這項一定要有,再試試吧
---------------------------------------
那把附件的字元集設定一下,
CharSet = "gb2312"; // 這里指定字元集!如果是utf-8則將gb2312修改為utf-8
這語句不能直接加,要用對象調用,具體用那個對象,參照你的郵件類吧
⑤ 怎麼實現php發送郵件附件需要源代碼!
伺服器必須開啟SMTP服務,代碼function smail($smtp,$title,$username,$passwd,$mailfrom,$mailfrom1,$rcptto,$mail){
$message="";
$message .= "正在連接伺服器...<br>";
$link = fsockopen($smtp,25);
if ($link){
set_socket_blocking($link,true);
$lastmessage=fgets($link,512);
if (!ereg("^220",$lastmessage)){
$message .= "與伺服器連接失敗" . $lastmessage . "<br>";
}
else{
$message .= "與伺服器連接成功,伺服器就緒:" . $lastmessage . "<br>";
fputs($link,"HELO phpsetmail"."\r\n");
$lastmessage=fgets($link,2000);
if (ereg("^250",$lastmessage)){
$message .= "與伺服器HELO成功:" .$lastmessage. "<br>";
}
else{
$message .= "與伺服器HELO失敗:" .$lastmessage. "<br>";
}
fputs($link,"AUTH LOGIN"."\r\n");
$lastmessage=fgets($link,2000);
if (ereg("^334",$lastmessage)){
$message .= "請求與伺服器進行用戶驗證成功:" .$lastmessage. "<br>";
}
else{
$message .= "請求與伺服器進行用戶驗證失敗:" .$lastmessage. "<br>";
}
fputs($link,base64_encode($username)."\r\n");
$lastmessage=fgets($link,2000);
if (ereg("^334",$lastmessage)){
$message .= "與伺服器用戶驗證成功:" .$lastmessage. "<br>";
}
else{
$message .= "與伺服器用戶驗證失敗:" .$lastmessage. "<br>";
}
fputs($link,base64_encode($passwd)."\r\n");
$lastmessage=fgets($link,2000);
if (ereg("^235",$lastmessage)){
$message .= "與伺服器密碼驗證成功:" .$lastmessage. "<br>";
}
else{
$message .= "與伺服器密碼驗證失敗:" .$lastmessage. "<br>";
}
fputs($link,"MAIL FROM:$mailfrom"."\r\n");
$lastmessage=fgets($link,2000);
if (ereg("^250",$lastmessage)){
$message .= "與伺服器MAIL FROM成功:" .$lastmessage. "<br>";
}
else{
$message .= "與伺服器MAIL FROM失敗:" .$lastmessage. "<br>";
}
fputs($link,"RCPT TO:$rcptto"."\r\n");
$lastmessage=fgets($link,2000);
if (ereg("^250",$lastmessage)){
$message .= "與伺服器RCPT TO成功:" .$lastmessage. "<br>";
}
else{
$message .= "與伺服器RCPT TO失敗:" .$lastmessage. "<br>";
}
fputs($link,"DATA"."\r\n");
$lastmessage=fgets($link,2000);
if (ereg("^354",$lastmessage)){
$message .= "請求與伺服器發送郵件數據成功:" .$lastmessage. "<br>";
fputs($link,"Content-Type:text/html charset=gb2312 \r\n");
fputs($link,"From:$mailfrom" . "\r\n");
fputs($link,"Subject:$title" . "\r\n");
fputs($link,"To:$rcptto" . "\r\n");
fputs($link,"X-Mailer: autokeeper". "\r\n");
fputs($link,"\r\n");
fputs($link,$mail . "\r\n");
fputs($link,"." . "\r\n");
$lastmessage=fgets($link,2000);
if (ereg("^250",$lastmessage)){
$message .= "發送郵件數據成功:" .$lastmessage. "<br>";
}
else{
$message .= "發送郵件數據失敗:" .$lastmessage. "<br>";
}
}
else{
echo "請求與伺服器發送郵件數據成功:" .$lastmessage. "<br>";
}
fputs($link,"QUIT"."\r\n");
$lastmessage=fgets($link,2000);
if (ereg("^221",$lastmessage)){
$message .= "與伺服器斷開連接成功:" .$lastmessage. "<br>";
}
else{
$message .= "與伺服器斷開連接失敗:" .$lastmessage. "<br>";
}
}
}
else{
echo "error";
}
fclose($link);
}
⑥ php 網站 留言板中的附件如何發送到指定郵箱
只有上傳到 自己的空間,然後把鏈接地址發送到 郵箱里邊,點擊地址就可以直接下載了,是這個意思不
⑦ php如何發送郵件
<?php
//定義邊界線
$boundary = uniqid( "" );
//生成郵件頭
$header = "From: $from\nContent-type: multipart/mixed;
boundary=\"$boundary\"\nX-Mailer:PHP\nX-Priority:3";
//獲取附件文件的MIME類型
$mimetype = mime_content_type('test.zip')
//獲取附件文件的名字
$attach = 'test.zip'
//對附件文件進行編碼和切分
$fp = fopen($attach, "r");
$content = fread($fp, filesize($attach));
$content = chunk_split( base64_encode($content) );
//生成郵件主體
$body ="
--$boundary
Content-type: text/plain; charset=iso-8859-1
Content-transfer-encoding: 8bit
$message
--$boundary
Content-Type: $mimeType; name=$filename
Content-Disposition: attachment; filename=$filename
Content-Transfer-Encoding: base64
$content
--$boundary--";
//發送郵件
mail( $to, $subject, $body, $header );
?>
⑧ PHP 發送帶附件的電子郵件問題
代碼從網上拷貝過來的吧?我沒有仔細看..我相信代碼沒啥問題
你是不是發送失敗呢?
如果你用Windows機子測試這個函數的話.. 那肯定是失敗的,因為windows機不支持mail()函數
你需要用其他的辦法發送郵件..
如果你用Linux機子測試這個函數,你需要配置php.ini(通常不用)
另外,你還需要安裝郵件系統..
⑨ php 發附件郵件 怎麼弄呢
在你發送附件的表單里加上<form name="form1" enctype="multipart/form-data" method="post" action="sendadd.php">中的enctype="multipart/form-data",還有就是你的附件編碼方式必須是base64的,具體怎麼設成base64的,你可以參考一下http://hi..com/%C0%EE%B1%F8/blog/item/7a95943ddca78d01baa167aa.html