hmmm... that sounds very different from the module I have installed. I installed the file "DNNSubscriber_3_0_2_PA.zip". I'll check the module again now and see exactly what it does.
I'm going into the settings page (it would be a good enhancement if the module settings were on a separate menu so non-admins could change them).
I've made a screenshot of the settings. Click the thumbnail and see if it's the same for you. I expanded all of the yellow help tips, because that's where the instructions are.
- The first two fields can contain different text to display to anonymous and signed in users.
- The labels for the subscribe and remove buttons can be changed.
- Those two buttons can be made invisible
- Then there's a box to enable email notification - I have this enabled and it works. The module sends me an email when an anonymous person puts their email address in the box.
- Then it has two boxes for subscribe and unsubscribe email addresses.
- And a box for the email subject
- Then there's a tick-box to enable role membership - I have not tried this yet, but it is supposed to add or remove the user to/from the role set in the dropdown box below.
The forum I linked to in my first post has a couple of posts from people who say that the role-assignment doesn't work right in DNN4.
I am going to try that setting now and see what happens...
Ok, I'm signed in and my email address is now pre-populated in the subscribe field. I'll press the button to subscribe and see if it assigns me to the role I specified..... Yes, it assigned me to the role. Now I will unsubscribe... when I click to unsubscribe, the page changes to my user account details and it does not remove me from the role. So that's only half-working.
Also... When the option to assign to role is enabled, anonyous users can no longer subscribe at all. The field is greyed out and they cannot enter an address. I don't know if that's a bug, but it would of course be useful if anonymous and registered modes both worked at the same time.
And the last problem I found.. on my site in DNN4.5.5 I have found that submitting the form without an address in it causes the exception pasted below.
So, you can see there are some problems with it. I'll try and describe what I think it should do. I've marked everything in green that the current module is supposed to do, and everything in red that it doesn't do, but maybe could do.
- Allow anyone to type an email address into the box, and click subscribe or remove
- As a result, the module should send an email to an address with a specific subject line - this can be used to subscribe and unsubscribe from conventional mailing list servers.
- If the user is registered and signed in, then he will be assigned or removed to/from a specified role - and the email will also be sent.
- If the user is not signed in, but the email address is recognised, then perhaps that would still assign the account with that email address to the role - This may not be possible?
- The module should have a success message depending on whether they have subscribed or unsubscribed.
- It should have a tick-box that says "I accept the terms" or similar, that needs to be ticked when subscribing.
I hope all that makes sense. I can show you the module on a site if you need to see it running. The most important function is to allow anonymous users to enter their email address and the module sends the add/remove emails to the site owner. Tehre are other modules that can assign a registered user to a role, but this is the only one that subscribes to external lists.
Thanks for looking into it.
Rob
InnerException: The parameter 'from' cannot be an empty string. Parameter name: from
FileName:
FileLineNumber: 0
FileColumnNumber: 0
Method: System.Net.Mail.MailMessage..ctor
StackTrace:
Message: DotNetNuke.Services.Exceptions.PageLoadException: The parameter 'from' cannot be an empty string. Parameter name: from ---> System.ArgumentException: The parameter 'from' cannot be an empty string. Parameter name: from at System.Net.Mail.MailMessage..ctor(String from, String to) at DotNetNuke.Services.Mail.Mail.SendMail(String MailFrom, String MailTo, String Cc, String Bcc, MailPriority Priority, String Subject, MailFormat BodyFormat, Encoding BodyEncoding, String Body, String Attachment, String SMTPServer, String SMTPAuthentication, String SMTPUsername, String SMTPPassword, Boolean SMTPEnableSSL) at DotNetNuke.Services.Mail.Mail.SendMail(String MailFrom, String MailTo, String Cc, String Bcc, MailPriority Priority, String Subject, MailFormat BodyFormat, Encoding BodyEncoding, String Body, String Attachment, String SMTPServer, String SMTPAuthentication, String SMTPUsername, String SMTPPassword) at DotNetNuke.Services.Mail.Mail.SendMail(String MailFrom, String MailTo, String Bcc, String Subject, String Body, String Attachment, String BodyType, String SMTPServer, String SMTPAuthentication, String SMTPUsername, String SMTPPassword) at DotNetNuke.Common.Globals.SendNotification(String MailFrom, String MailTo, String Bcc, String Subject, String Body, String Attachment, String BodyType) at HPS.DNN.Modules.DNNSubscriber.DNNSubscriber.cmdSubscribe_Click(Object sender, EventArgs e) at System.Web.UI.WebControls.LinkButton.OnClick(EventArgs e) at System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) at System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) --- End of inner exception stack trace ---