2011-09-03 30 views
5

真的很奇怪的經驗,這讓我花了一個多小時弄清楚。我有一個用python寫的cgi腳本,它接受表單數據並將其轉發給一封電子郵件,問題是,如果字符串中存在冒號,則會導致python不向電子郵件輸出任何內容。Python電子郵件 - 使用冒號導致沒有輸出

有誰知道這是爲什麼?

例如:

output = "Print- Customer" 

作品,雖然:

output = "Print: Customer" 

打印無輸出。

我的電子郵件功能的工作原理主要有:

server.sendmail(fromaddr, toaddrs, msg) 

其中msg =輸出

只是想知道如果結腸在Python字符串輸出一個特殊字符

+1

給我們提供代碼並給我們提供樣品數據。 – cdhowie

+0

添加了示例。 – Kilizo

回答

6

結腸是不是一個特殊字符python字符串輸出,但它是特殊的電子郵件標題。嘗試在輸出中插入一個空行:

output = "\nPrint: Customer" 
+0

謝謝!知道這是一個電子郵件問題,是反斜槓等,無法讓它的工作。 – jdborg

2

請允許我做一些猜測:

  1. 郵件實際上是被髮送,但身體看起來是空的(你的問題不說這個)。
  2. 你沒有使用內置的python郵件庫。
  3. 如果您在郵件閱讀器中打開郵件並查看標題,則會出現「print:」行。

如果是這樣,問題是,你沒有結束郵件標題帶有「\r\n」對,郵件讀者認爲「print:」是一個郵件標題,而「print -」是的一部分錯誤形成的電子郵件的正文。

如果你在標題後面添加「\r\n」,一切都應該沒問題。

相關問題