The Forum has been Updated
The code has been upgraded to the latest .NET core version. Please check instructions in the Community Announcements about migrating your account.
Hey guys, I have a fast question. I wrote some code so I can send an email to the user if it is their birthday. I am piggybacking off of another function from a mod and I would like to know the best way to retrieve the users name and email address.
function EmailUserBirthdayNotice
Dim userName, userEmail
' Need to retrieve the data
'## E-mails Message to the Author of this Reply.
strRecipientsName = userName
strRecipients = userEmail
strFrom = "My Forum"
strFromName = strForumTitle
strsubject = "Happy Birthday " & userName & " !"
strMessage = "Hello " & PWMember_Name & vbNewline & vbNewline
strMessage = strMessage & "You received this message from My Forum because today is your birthday. We wanted to wish you a Happy Birthday!" & vbNewline & vbNewline
strMessage = strMessage & vbNewLine & "Have a great birthday!." & vbNewLine & vbNewLine
strMessage = strMessage & vbNewLine & "My Forum" & vbNewLine & vbNewLine
%>
<!--#INCLUDE FILE="inc_mail.asp" -->
<%
end function
Thanks
Dave
function EmailUserBirthdayNotice
Dim userName, userEmail
' Need to retrieve the data
'## E-mails Message to the Author of this Reply.
strRecipientsName = userName
strRecipients = userEmail
strFrom = "My Forum"
strFromName = strForumTitle
strsubject = "Happy Birthday " & userName & " !"
strMessage = "Hello " & PWMember_Name & vbNewline & vbNewline
strMessage = strMessage & "You received this message from My Forum because today is your birthday. We wanted to wish you a Happy Birthday!" & vbNewline & vbNewline
strMessage = strMessage & vbNewLine & "Have a great birthday!." & vbNewLine & vbNewLine
strMessage = strMessage & vbNewLine & "My Forum" & vbNewLine & vbNewLine
%>
<!--#INCLUDE FILE="inc_mail.asp" -->
<%
end function
Thanks
Dave
Posted
Code:
<%
Function EmailUserBirthdayNotice
strDOB=mid(strtodate(strForumTimeAdjust),4,4)
strSql="SELECT C_VARIABLE, C_VALUE FROM "& strTablePrefix & "CONFIG_NEW WHERE C_VARIABLE='STRBIRTHMAIL'"
set rsBDay=my_Conn.Execute(strSql)
if not rsBDay.EOF then
strCDOB=rsBDay("C_VALUE")
rsBDay.Close
end if
set rsBDay=Nothing
if strCDOB<>strDOB then
strSql="UPDATE "& strTablePrefix & "CONFIG_NEW SET C_VALUE='" & STRDOB & "' WHERE C_VARIABLE='STRBIRTHMAIL'"
my_Conn.Execute(strSql)
strSql="SELECT M_FIRSTNAME, M_EMAIL, M_DOB FROM " & strMemberTablePrefix & "MEMBERS WHERE MID(M_DOB,4)="&strDOB
set rsDOB=my_Conn.Execute(strSql)
if not rsDOB.EOF then
do until rsDOB.EOF
strRecipientsName = rsDOB("M_FIRSTNAME")
strRecipients = rsDOB("M_EMAIL")
Call SMail
loop
rsDOB.Close
end if
set rsDOB=Nothing
Sub SMail
strFrom = "My Forum"
strFromName = strForumTitle
strsubject = "Happy Birthday " & userName & " !"
strMessage = "Hello " & PWMember_Name & vbNewline & vbNewline
strMessage = strMessage & "You received this message from My Forum because today is your birthday. We wanted to wish you a Happy Birthday!" & vbNewline & vbNewline
strMessage = strMessage & vbNewLine & "Have a great birthday!." & vbNewLine & vbNewLine
strMessage = strMessage & vbNewLine & "My Forum" & vbNewLine & vbNewLine
%>
<!--#INCLUDE FILE="inc_mail.asp" -->
<%
End Sub
end if
End Function
%>
To add the variable to the config_new table, save the following as dbs.BMail and execute from admin control panel.
Birthday Mail Mod v1.0
[INSERT]
CONFIG_NEW
(C_VARIABLE,C_VALUE)#('strBirthMail',0)
[END]
Last edited by Carefree on 02 November 2009, 09:29
Posted
you need to add a check to see if the mail has been sent to avoid a lot of mail to be sent
Posted
Not if he's going to manually run the program from an admin console page - it'll only send one per person with a birthday on that date. If he embeds it in a commonly accessed page, then you're correct, it would send the emails every time that function was called.
Posted
Is there an easy way to check for that? Possibly adding a new field to the database? I think this would be a cool add in. What I did was took an old post that basically checked the birthday by calling two functions isbday and getGreeting. Basically I just wanted to send the email one time if it was the birthday as these two functions just say happy birthday in the header.
Posted
Not if he's going to manually run the program from an admin console page
not very comfortable... I have implemented the function, but it needs the event mod and the birthday mod, adding a new field M_SENTMAIL to MEMBERS_BDATES table
That is possible as the mod store the dob in that table and delete them after sometimes, so the field is set to 0 again next time..
Posted
I do have both mods installed. Do you want me to test it? Do you have the link to the exact event mod just so I can make sure I have the same one as you?
Posted
...it needs the event mod and the birthday mod, adding a new field M_SENTMAIL to MEMBERS_BDATES tableNot really. All you'd have to do is add a variable to "config.asp", store the date in it when it starts to send EMails. Then when the function is called, check the value of the variable. If it matches the current date, don't send. Done.
I made the appropriate change in above post.
Last edited by Carefree on 02 November 2009, 09:30
Email Member
Message Member
Post Moderation
FileUpload
If you're having problems uploading, try choosing a smaller image.
Preview post
Send Topic
Loading...