none
xp_sendmail attach file error RRS feed

  • 問題

  • 有個問題....

    這幾天發現在Stored Procedure 裡寫寄送Mail (xp_sendmail)的功能原本都正常但最近卻失敗了,

    抓出來的原因,在attch_result=True 這裡。

    Attach_result = True 就失敗, Attach_result =False 則成功

    錯誤訊息是:xp_sendmail: 失敗,因為作業系統錯誤 80

    不知道為什麼忽然不行了,之前都正常。

    請各位解惑一下吧..><

    目前的環境是Win 2003+ SQL 2000 SP4 ,SP4是前幾天才Update的。

     

     

    2008年4月22日 下午 06:26

解答

  • 公司開了case解了這個問題,我自問自答,將原因解法po上來供大家以後遇到相關問題時可以參考..

     

    問題:

    執行xp_sendmail , 出現xp_sendmail:失敗, 因為作業系統錯誤80 [SQLSTATE 42000] [錯誤 18024]. 步驟失敗 的訊息。

    經初步查證 , xp_sendmail的功能無異常 , 僅在發送夾有附檔的郵件時才會出現此問題

     

    原因:

    xp_sendmail在發送夾有附檔的mail , 會將夾帶的附檔產生在ostemp資料夾下後發送 , SQL並不會暫存於temp資料夾下的檔案(sql*.tmp)清除 , 故檔案會永久留存在temp資料夾中 , 而微軟早期32bitos系統中 , 有限制一個資料夾僅能存放65535的檔案(size無關)

    c$\Documents and Settings\登入帳號\Local Settings\Temp\ 路徑下的暫存檔案已到達數量限制 , 導致前日下午起xp_sendmail即無法發送夾帶附檔的郵件。

     

    解法:

    將 上述temp路徑下的檔案清空即可..

     

     

    2008年4月24日 上午 01:58

所有回覆

  • 公司開了case解了這個問題,我自問自答,將原因解法po上來供大家以後遇到相關問題時可以參考..

     

    問題:

    執行xp_sendmail , 出現xp_sendmail:失敗, 因為作業系統錯誤80 [SQLSTATE 42000] [錯誤 18024]. 步驟失敗 的訊息。

    經初步查證 , xp_sendmail的功能無異常 , 僅在發送夾有附檔的郵件時才會出現此問題

     

    原因:

    xp_sendmail在發送夾有附檔的mail , 會將夾帶的附檔產生在ostemp資料夾下後發送 , SQL並不會暫存於temp資料夾下的檔案(sql*.tmp)清除 , 故檔案會永久留存在temp資料夾中 , 而微軟早期32bitos系統中 , 有限制一個資料夾僅能存放65535的檔案(size無關)

    c$\Documents and Settings\登入帳號\Local Settings\Temp\ 路徑下的暫存檔案已到達數量限制 , 導致前日下午起xp_sendmail即無法發送夾帶附檔的郵件。

     

    解法:

    將 上述temp路徑下的檔案清空即可..

     

     

    2008年4月24日 上午 01:58
  •  

    如果以上的方法无法解决,还有一个可能是附件的名字已经在c$\Documents and Settings\登入帳號\Local Settings\Temp\ 路径下存在.但这个文件已经是无法删除的状态的.

     

      所以解决方案是,将你发送的文件名字修改一下就可以轻松发送.

     

    2008年9月25日 上午 02:29