vbCrLf giving problems in ASP

Hi,

This is the function i am using for sending mails.
I want to send this contents in mail in asp.

Address is
subject = "Camp Scholarship Application"
sbody = " Camp Education Program testing and the funding to be manipulated " & vbCrlf & _
             " Te Undergraduate Application " & vbCrlf  
sendmail "test@xyz.com","test@xyz.com","admin@xyz.com",subject,sbody,"T"

the email code i used is
function SendMail(aToAddress, aCC, aFromAddress, aSubj, aText, aFormat)
 
   dim Mail
   set Mail = Server.CreateObject("CDONTS.NewMail")

   'fill email fields
   Mail.From = aFromAddress    'To and From addresses must be in        
   Mail.To = aToAddress      'valid "user@domain.com" format
   Mail.CC = aCC
   Mail.Subject = aSubj
   Mail.Body = aText

   if aFormat = "H" then
         Mail.BodyFormat = 0        '0=HTML, 1=Text
         Mail.MailFormat = 0        '0=MIME, 1=Text
   else
         Mail.BodyFormat = 1        '0=HTML, 1=Text
         Mail.MailFormat = 1        '0=MIME, 1=Text
   end if

   Mail.Send        'email this message

   set Mail = Nothing        'free the message object
   SendMail = true
end function

email gets sent but the the formatting changes.
the email i get is simply a text messsage without any formatting. Something like this.
" Camp Education Program testing and the funding to be manipulated Te Undergraduate Application "
hwo can we make this working?

RD.
LVL 1
ck_damuAsked:
Who is Participating?
 
PreeceConnect With a Mentor Commented:
I think I see what you mean now.  Try this:

sbody = " Camp Education Program testing and the funding to be manipulated " 
sbody = sbody & vbCrLf & " The Undergraduate Application " & vbCrLf

If you go with HTML format, try:

sbody = " Camp Education Program testing and the funding to be manipulated " 
sbody = sbody & "<br>" & " The Undergraduate Application " & "<br>"


Preece
0
 
PreeceCommented:
Shouldn't this call:

sendmail "test@xyz.com","test@xyz.com","admin@xyz.com",subject,sbody,"T"

be passing an H instead of a T?

sendmail "test@xyz.com","test@xyz.com","admin@xyz.com",subject,sbody,"H"

Preece
0
 
kevp75Commented:
Preece is correct, you are trying to put in textual carriage breaks, when you are sending an html email

once you change them to the <br>'s you should be all set
0
Cloud Class® Course: Microsoft Exchange Server

The MCTS: Microsoft Exchange Server 2010 certification validates your skills in supporting the maintenance and administration of the Exchange servers in an enterprise environment. Learn everything you need to know with this course.

 
ck_damuAuthor Commented:
HTML format works but Text format is giving problems, formatting is not working.
if you reduce the contents in sbody
i.e
sbody = " Camp Education Program"
sbody = sbody & vbCrLf & " The Undergraduate Application " & vbCrLf

This works, donno why?
RD
0
 
kevp75Connect With a Mentor Commented:
it's because of aFormat

you see in your code:
if aFormat = "H"

well...you are allowing the user to specify whether or not to send an HTML email or TEXT.  If they specify TEXT then your code above it will work perfectly, however when they change it to HTML it fails...why, because you do not have any conditioning in you sbody to change it from TEXT to HTML

the only way what you are trying will work is if you use a condition on your sbody, so

if aFormat = "H" then
     sbody = " Camp Education Program testing and the funding to be manipulated <br>"  & _
             " Te Undergraduate Application <br>"
else
     sbody = " Camp Education Program testing and the funding to be manipulated " & vbCrlf & _
             " Te Undergraduate Application " & vbCrlf
end if
0
 
PreeceCommented:
So, you are building your sbody and making the correctly in both scenarios?  Such as:

sbody = " Camp Education Program"
sbody = sbody & vbCrLf & " The Undergraduate Application " & vbCrLf
sendmail "test@xyz.com","test@xyz.com","admin@xyz.com",subject,sbody,"T"


sbody = " Camp Education Program"
sbody = sbody & "<br>" & " The Undergraduate Application " & "<br>"
sendmail "test@xyz.com","test@xyz.com","admin@xyz.com",subject,sbody,"H"

I wonder if it has anything to do with the Mail.MailFormat setting?

Preece
0
 
ck_damuAuthor Commented:
Try the below two code segment you can find the difference

1)
sbody = " Camp Education Program"
sbody = sbody & vbCrLf & " The Undergraduate Application " & vbCrLf
sendmail "test@xyz.com","test@xyz.com","admin@xyz.com",subject,sbody,"T"

2)
sbody = " Camp Education Program testing and the funding to be manipulated " 
sbody = sbody & vbCrLf & " Te Undergraduate Application " & vbCrlf  
sendmail "test@xyz.com","test@xyz.com","admin@xyz.com",subject,sbody,"T"

RD
0
 
PreeceCommented:
kevp75 is correct.  Be sure to be consistent with your sbody formatting and your sendmail calling parameters.  

Another option might to use CDO instead of CDONTS, if your server supports it:

subject = "Camp Scholarship Application"
if strFormat = "T" then
    sbody = " Camp Education Program"
    sbody = sbody & vbCrLf & " The Undergraduate Application " & vbCrLf
    sendmail "test@xyz.com","test@xyz.com","admin@xyz.com",subject,sbody,"T"
else if strFormat = "H" then
    sbody = " Camp Education Program"
    sbody = sbody & "<br>" & " The Undergraduate Application " & "<br>"
    sendmail "test@xyz.com","test@xyz.com","admin@xyz.com",subject,sbody,"H"
end if

function gsnSendMail(aToAddress, aCC, aFromAddress, aSubj, aText, aFormat))
    Dim myMail
    Set myMail = Server.CreateObject("CDO.Message")      
    myMail.From = aFromAddress
    myMail.To = aToAddress
    myMail.CC = aCC
    'myMail.BCC = aBCC
    myMail.Subject = aSubj
    if aFormat = "H" then
        myMail.HtmlBody = aText
    else if aFormat = "T" then
        myMail.TextBody = aText
    end if
    myMail.Send
    Set myMail = Nothing
end function

Preece
0
 
PreeceCommented:
Also, don't forget the h in"

" Te Undergraduate Application " 

Preece
0
 
PreeceCommented:
oops, a couple of typos:

Another option might to use CDO instead of CDONTS, if your server supports it:

subject = "Camp Scholarship Application"
if strFormat = "T" then
    sbody = " Camp Education Program"
    sbody = sbody & vbCrLf & " The Undergraduate Application " & vbCrLf
    gsnSendMail "test@xyz.com","test@xyz.com","admin@xyz.com",subject,sbody,"T"
else if strFormat = "H" then
    sbody = " Camp Education Program"
    sbody = sbody & "<br>" & " The Undergraduate Application " & "<br>"
    gsnSendMail "test@xyz.com","test@xyz.com","admin@xyz.com",subject,sbody,"H"
end if

function gsnSendMail(aToAddress, aCC, aFromAddress, aSubj, aText, aFormat)
    Dim myMail
    Set myMail = Server.CreateObject("CDO.Message")      
    myMail.From = aFromAddress
    myMail.To = aToAddress
    myMail.CC = aCC
    'myMail.BCC = aBCC
    myMail.Subject = aSubj
    if aFormat = "H" then
        myMail.HtmlBody = aText
    else if aFormat = "T" then
        myMail.TextBody = aText
    end if
    myMail.Send
    Set myMail = Nothing
end function

Preece
0
 
kevp75Commented:
i'd like to know the outcome....
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.