Background: This mod connects the creation of a Snitz forum account with creation of a MailEnable (www.mailenable.com) mail box account. I used code written by Carlos C Soto of SIA Solutions SA de CV (csoto@sia-solutions.com) for the creation of the actual mailbox. The code I did was mostly the interaction between MailEnable and the forum and the interface for the forum.
Known Issues: There are still some problems with it like if an existing user with out an email address goes to their profile and creates their email address by choosing the option but leaves the password field blank then their mailbox on the email server will have no password set for it. Also, many users might get confused into thinking that the forum account and the email account are the same account and this could cause problems too because if a user changes their forum password (for instance) and then tries to use thier new forum password to get to their web mail it won't work. This isn't a serious issue but an annoying one for an ill-informed end user. There is a fucntion written by the same gentalman who wrote the function to add mailboxes that allows the script to edit an existing mailbox so I may take this code and integrate it with the Snitz password update to negate the problem. This would however only be a partial solution because I would then need to go into the MailEnable Webmail code and make it so that if the user updates thier pass on that service Snitz updates too. I don't consider this mod complete but I think its ready enough for you guys to play with it and tell me what else is wrong that I didn't notice yet.
Tested On: Snitz3.4.0.1 with Access DB (I can't think of a reson it wouldn't work fine on an SQL DB though) and MailEnablePro beta v1.1
hmm...so the option to create a mail box is not on the page?..if this is your problem then I think you're looking in the wrong file. pop_profile.asp includes inc_profile.asp ...the select box for creating a mailbox is either shown or not shown depending on an if/then statement in inc_profile.asp that checks two values in the database. It first checks if the user has already had a mailbox created and if not then it checks to see weather you have enabled this feature by going to the admin section under Email settings. I debated putting the settings for my mod in their own page in the admin section but the Email settings section was kinda sparse and these where email related things so it seemed sensable. Check your settings in the Admin section and let me know.
Toast, I think it may have to do with the fact the I'm using serverhackers modded forum. I've managed to get it to show up by putting the inc_profile.asp code at the top of the page on about line 49
after this
else if strMode <> "goModify" then Response.Write("<br /><small>If you change your e-mail address, a confirmation e-mail will be sent to your new address.<br />Please make sure it is a valid address.</small></font>") else Response.Write("<br /><small>If you change the e-mail address, a confirmation e-mail will be sent to the new address.<br />Please make sure it is a valid address.</small></font>") end if end if end if
I inserted this slightly modified code:
If rs("CREATEDEMAIL") = "0" then If strCreateEmail = "1" Then Response.Write " <tr valign=""middle"">" & vbNewLine & _ " <td align=middle><table border=""0"" width=""80%"" cellspacing=""1"" cellpadding=""0"" align=""center"">" & _ " <tr><td bgColor=""" & strPopUpTableColor & """ align=""center"" valign=""middle"" nowrap><b><font face=""" & strDefaultFontFace & """ size=""" & strDefaultFontSize & """> Signup for email (<i>example yourusername@" & strMailServer & "</i>)?: </font></b></td>" & vbNewLine & _ " <td bgColor=""" & strPopUpTableColor & """ valign=""middle""><font face=""" & strDefaultFontFace & """ size=""" & strDefaultFontSize & """>" & vbNewLine & _ " <select name=""CreateEMail"">" & vbNewLine & _ " <option value=""0"" selected>No</option>" & vbNewLine & _ " <option value=""1"">Yes</option>" & vbNewLine & _ " </select></font></td>" & vbNewLine & _ " </tr>" & vbNewLine & _ " <tr><td colspan=2 bgColor=""" & strPopUpTableColor & """ align=""middle"" valign=""middle""><b><font face=""" & strDefaultFontFace & """ size=""" & strDefaultFontSize & """>Note: Your email address will contain NO SPACES. You can set your Contact Email address at the top of this form to your newly created email address as both the forum account and the email account should be created simultaneously.</font></b></td>" & vbNewLine & _ " </table>" & vbNewLine & _ " </td>" & vbNewLine & _ " </tr>" & vbNewLine End If End If
My problem now is that I cant get the link to show up in inc_header.asp
I just ended up putting this code in inc_header.asp
Response.Write " <a href=""../mewebmail""" & dWStatus("Go to webmail...") & " tabindex=""-1""><acronym title=""Go to webmail..."">Webmail</acronym></a> |" & vbNewline
I'm not sure I understand what the rest of it did. I couldn't get it to work.
Other than that it does create the account in MailEnable. But one question that I have is that for existing members who create new mail accounts. Are they going to need to enter a new password in their profile in order to create a password. Becasue I have had to go in to mailenable to set passwords manually so far.
Great job so far. This will be a great addition to my site.
The code you stripped from Response.Write " <a href=""../mewebmail""" & dWStatus("Go to webmail...") & " tabindex=""-1""><acronym title=""Go to webmail..."">Webmail</acronym></a> |" & vbNewline was to display the link only if the functionality was enabled in the admin section. I think that is mostly your problem. Once again I suggest you go check the Email Server Configuration portion of the admin section of your forum. Verify that MailEnable Email Creation: is set to On.
On the password thing..yes. This is a side effect I didn't realize till after I released. If an existing user creates thier email address and leaves the password field on the profile page blank then the password on thier MailEnable mailbox will be blank. In my next revision (soon if i have the time) I'll make it throw an error if this isn't filled out to stop this from happening. If the user is a registering user (first time) then they fill out that field to set their forum pass and that pass gets set as their email password too..but..existing members just go to profile and change the email option to yes and so they get a mailbox with no password set. Sorry. You might want to comment the message under the Email creation box in inc_profile.asp to state that they need to put in a pass.
I do have the option to set up webmail set to on in the admin panel, yet it still would not show up in inc_header.asp for any user as you had it coded. Thanks.
the "sligtly modified code" you added to is functionally no differrent then mine ..you just removed spaces. The only thing difference is where you put it. As for inc_header.asp if strCreateEmail="1" then checks to see if email creation is activated. then if (mlev > 0) then if strAuthType="nt" then Response.Write " <a href=" & strForumURL & "../MEWebMail/base/default/lang/EN/login.asp?LanguageID=EN&UserID=" & Session(strCookieURL & "username") & " "">Webmail</a> |" & vbNewLine else if strAuthType = "db" then response.Write " <a href=" & strForumURL & "../MEWebMail/base/default/lang/EN/login.asp?LanguageID=EN&UserID=" & ChkString(strDBNTUserName, "display") & " "">Webmail</a> |" & vbNewLine end if end if Else Response.Write " <a href=""../mewebmail""" & dWStatus("Go to webmail...") & " tabindex=""-1""><acronym title=""Go to webmail..."">Webmail</acronym></a> |" & vbNewline End If checks weather your logged in or not and then depending on the type of auth used by your forum nt or db it puts the user name in the querystring sent to webmail to auto fill in the user name field. If your not logged in then it sends nothing to the querystring hence Else Response.Write "<a href=""../mewebmail""" & dWStatus("Go to webmail...") & " tabindex=""-1""><acronym title=""Go to webmail..."">Webmail</acronym></a> |" & vbNewline.
Also the login.asp of the mailenable webmail app needs to be slightly modded for this to work..around line 153 of it the code needs to look sorta like this: <table BORDER=0> <tr><td class=ME_StandardText><b><%=GetLanguageToken(Request("LanguageID"),"LOGINPROMPT")%></b></td> <td><input style="width:160px" class=ME_Input type=text name=UserID VALUE="<% response.write request("UserID") %>"></td>
However none of this would cause it to not show up in the browser so I'm asuming that serverhackers version must be highly modded from the original code which means that I really can't help you (having never seen nor ran serverhackers forum)