簡體   English   中英

如何修復OpenCart中mail()錯誤的錯誤參數?

[英]How to fix bad parameters to mail() error in OpenCart?

我在使用OpenCart時遇到問題,當使用借記卡/信用卡結賬使用PayPal Pro時按下“確認訂單”時,會出現“請稍候”消息,然后消失而不會進入確認頁面。 電子郵件將發送給客戶和所有者,付款,然后到達確認頁面,您必須再次按“確認訂單”。 這會再次將錢匯給PayPal,但不會發送額外的電子郵件,並且OpenCart記錄中不會顯示第二個訂單。

在第一次單擊時,會生成以下錯誤消息三次:

PHP Warning:  mail() [<a href='function.mail'>function.mail</a>]: Bad parameters to mail() function, mail not sent. in /.../store/system/library/mail.php on line 148

但是,電子郵件實際上已發送。 在第二次單擊時,不會生成任何錯誤。

我已經檢查了電子郵件設置,它們似乎都是正確的(我已在郵件參數框中嘗試了info@domain.com-finfo@domain.com )並且沒有任何更改。 我正在使用郵件選項而不是SMTP。

主持人是GoDaddy,我知道有時候電子郵件會有點搞笑。 我嘗試在PHP中使用代碼,但我無法找到參數變量實際設置的區別,我認為它從OpenCart管理員的設置中獲取。

我嘗試從mail.php中的mail()函數中刪除參數選項,並且首次點擊時結帳工作,但郵件根本沒有發送,所以我很確定修復錯誤將解決結帳問題,我我只是不確定下一步該嘗試什么。

編輯:

我一直在嘗試發送電子郵件的行。 OpenCart原來設置為:

mail($to, '=?UTF-8?B?' . base64_encode($this->subject) . '?=', $message, $header, $this->parameter);

為了確保郵件實際上像這樣工作,我將其更改為:

mail('myaddress@email.com', 'Test', 'Hello', 'From: info@domain.com', '-finfo@domain.com');

那很有效。 我點擊了“確認訂單”,它就像它應該的那樣工作。 然后,我嘗試了各種組合,刪除變量並將其替換為我的測試中的詳細信息。 首先,我加入了$ this->參數,認為這是最可能的罪魁禍首,但效果很好。 我繼續用其他變量做這個,但每次都失敗了。

店主已經為要發送的訂單添加了一些額外的電子郵件地址。 這些電子郵件地址應采用address1@email.com,address2.email.com等格式。

相反,逗號之后有一個空格,這完全是OpenCart。 應該可以在OpenCart中添加某種修復來忽略電子郵件字段中的空格,但是現在,它們都在工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM