[Last Call] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 381
  • Last Modified:

cfmail attachment error

I have what should be a simple cfmail with an attachment and am getting the following error:

Security: The requested template has been denied access to d:\wwwroot\imailroom.ca\wwwroot\D:\wwwroot\imailroom.ca\imail_scans\TestClient\iEnvelopes\imr20110907_e_2B.gif.

Why is the code below adding "d:\wwwroot\imailroom.ca\wwwroot\" ?
<cfmail to="#firstname# #LastName# <#UserEmail#>" bcc="sfawcett@imailroom.ca"from="imailroom <siteadmin@imailroom.ca>"  subject="#esubject#" type="HTML" server="#application.webserver#">

new mail
<br><br>


<cfset testfile = "D:\wwwroot\imailroom.ca\imail_scans\TestClient\iEnvelopes\imr20110907_e_2B.gif">

this attachment works. test images and decide which should be used for envelopes and which should be used for pdf.
<cfmailparam file="#testfile#">


</cfmail>

Open in new window

0
Shawn
Asked:
Shawn
  • 6
  • 5
1 Solution
 
_agx_Commented:
(no points..)

>> Why is the code below adding "d:\wwwroot\imailroom.ca\wwwroot\" ?

The permissions error sounds very familiar ...

Don't believe the error message 100%. Error messages are notoriously unreliable so it could just be a bunk message.  

Try running a few tests. Use hard coded paths temporarily. Just to be sure it's not a path problem.

a) try the cfmail with a hard coded path. If you still get the same error

b) verify the file exists.
<cfif fileExists("D:\wwwroot\imailroom.ca\imail_scans\TestClient\iEnvelopes\imr20110907_e_2B.gif")> file exists<cfelse>not found </cfif>
c) try and read the file
<cfset x = FileReadBinary("D:\wwwroot\imailroom.ca\imail_scans\TestClient\iEnvelopes\imr20110907_e_2B.gif")>

If B and C succeed it's probably a some weird permissions problem with the directories used by CF / cfmail.
0
 
ShawnAuthor Commented:
permissions sounds about right as the folder is outside of the web root (for security reasons).

If this is the case what sort of workaround would you suggest?
0
 
_agx_Commented:
No, if the problem's what I think it is .. the issue is with whatever internal directories CF uses for mailing, not the directory containing your image. That's what the tests above should tell you. If only the mailing part A) fails that's probably the issue.

I remember there was a long thread about this .. if I could just find it.
0
Important Lessons on Recovering from Petya

In their most recent webinar, Skyport Systems explores ways to isolate and protect critical databases to keep the core of your company safe from harm.

 
ShawnAuthor Commented:
ok A failed and just to be sure I put the file in the web root and you're right there too. same issue.

B file not found...double checking code as this should work
getting to C

0
 
ShawnAuthor Commented:
B still says file not found. maybe it's linked to A as I can see the file.
0
 
_agx_Commented:
>> B still says file not found. maybe it's linked to A as I can see the file.

If the file doesn't exist I'm surprised cfmail didn't tell you that.

Well usually (though not always) that means the path is just wrong ;-)  Don't depend on eyeballing it. Use a more conclusive test. Like running a DIR command on the full path or doing a cfdirectory listing.  ie Verify some other way the file exists and it is a permissions problem with that folder rather than cfmail. Make sense?

0
 
ShawnAuthor Commented:
omg the file name was wrong. works great as is. right in fron of my nose.
sorry about the wild goose chase.
0
 
_agx_Commented:
lol. I did that yesterday.  I forgot the old rule of always check the silly stuff first .. because that's often the problem ;-)
0
 
ShawnAuthor Commented:
looks like it's back to the kiss principle. keep it simple stupid.

thx agx
0
 
_agx_Commented:
> the kiss principle

funny how despite knowing it's true, developers have to continually fight the almost instinctive urge to make things complicated ;-)
0
 
ShawnAuthor Commented:
i hear ya and am guilty :)
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 6
  • 5
Tackle projects and never again get stuck behind a technical roadblock.
Join Now