Coldfusion没有发送电子邮件

时间:2013-05-29 16:51:32

标签: email coldfusion

我在使用本网站时遇到问题,但是没有发送任何电子邮件。基本上当有人下订单时,它会发送一封确认电子邮件。我没有看到代码有任何问题,但我相信这是寻找问题的正确位置。有人可以帮助我吗?

<cfquery name="getUser" datasource="personal2009">
SELECT * FROM site_users WHERE id = '#session.id#'
</cfquery>

<cfoutput>
    <cfmail to="#site_email#" from="#site_email#" subject="Website International Order Request">
    #getUser.title# #getUser.Firstname# #getUser.Surname# has requested to deliver an order to an international address.

    Their contact details are:
    #getUser.Address1#
    #getUser.Address2#
    #getUser.Town#
    #getUser.Postcode#
    #getUser.Country#

    #getUser.Tel#
    #getUser.email#

    The delivery address requested is:
    #formtitle# #formFirstname# #formSurname#
    #formAddress1#
    #formAddress2#
    #formTown#
    #formPostcode#

    The order details are:
    <cfset thisrow = 0><cfoutput><cfset thisrow = thisrow + 1><cfset tot = 0><cfloop index="list" from="1" to="#session.numincart#"><CFQUERY NAME="ind" DATASOURCE="personal2009" maxrows=1>SELECT * FROM products WHERE id = #listgetat(session.cart, list)#</CFQUERY>
    Product Name: #ind.product_name#
    Price: £#decimalformat(listgetat(session.price, list))#<cfset multiply2 = #listgetat(session.quant, list)#>
    Quantity: #listgetat(session.quant, list)#

    </cfloop></cfoutput>
    Thank you

    </cfmail>
</cfoutput>
<cfset session.endemail = '1'>

1 个答案:

答案 0 :(得分:1)

根据您的托管环境的不同,我建议您将cfmail代码更改为以下内容:

<cfmail to="#site_email#" from="#site_email#" subject="Website International Order Request" server="#server#" username="#username#" password="#password#">

1)如果您无法访问CFADMIN,则无法跟踪邮件路径。指定您自己的服务器/用户名/密码将允许您使用自己的SMTP服务器发送电子邮件并将其排除在外。

2)即使您的主机使用SMTP默认服务器设置了CFMAIL,也可能是他们没有正确设置SMTP中继。结果是您的邮件通过coldfusion发送,但被smtp服务器拒绝。

3)即使您的主机具有CFMAIL设置和SMTP中继设置,最后一种可能是接收端的SPAM过滤器。如果你有垃圾邮件过滤器查看SPF /域密钥/其他标准,他们也可能阻止电子邮件。

指定您自己的服务器/用户名/密码通常是解决电子邮件问题的最佳选择。