Jump to content
adrian

Email New User

Recommended Posts

found this in the wiremail logs

  Error in hnsmtp::send : cannot connect to smtp-server!

Share this post


Link to post
Share on other sites

Hi.

First of all, thanks for this great module! 
I do have one question: Is there a reason why this module is not "singular"?
To be clearer: adding ""singular": true" to the jsonfile.

I am having the automatic send option enabled, and use some custom api code to add new users in frontend-scope and backend.
According to the json info file the module gets autoloaded on "template=admin". So in Frontend I have to use $this->modules->get("EmailNewUserPortal");

Because my custom code gets executed in frontend and admin, I would have to check where I am, because if I do $this->modules->get("EmailNewUserPortal"); in backend there are two instances of the module running. This results in sending the NewUser Mail twice.

After adding the singular Option to your module, this issue has gone.
Perhaps there is another need to be not singular here wich I didn´t see? Just wanted to ask...

Thanks...

 

  • Like 2

Share this post


Link to post
Share on other sites
On 9/26/2016 at 4:49 AM, benbyf said:

found this in the wiremail logs

  Error in hnsmtp::send : cannot connect to smtp-server!

Sorry I missed this post, but I am hoping by now you have realized that this is an issue with your wireMail setup and not this module.

 

On 10/25/2016 at 3:42 AM, gingebaker said:

I do have one question: Is there a reason why this module is not "singular"?

Just an oversight on my part - thanks for the heads up and the solution - much appreciated.

It is fixed now!

 

  • Like 3

Share this post


Link to post
Share on other sites

Hi,

I'd like to add a styled email to new users but when I use the Email body field i can't use html. What would be the best way to add a custom email template?

  • Like 1

Share this post


Link to post
Share on other sites

Hi @Timothy de Vos - I could simply support HTML in that email body field and have the email sent as HTML along with a plain text version (automatically generated from the HTML version). I think that would be the easiest approach.

Would that suit your needs?

  • Like 1

Share this post


Link to post
Share on other sites
2 minutes ago, adrian said:

Hi @Timothy de Vos - I could simply support HTML in that email body field and have the email sent as HTML along with a plain text version (automatically generated from the HTML version). I think that would be the easiest approach.

Would that suit your needs?

Jeah i guess that would work!

Share this post


Link to post
Share on other sites
Just now, Timothy de Vos said:

Jeah i guess that would work!

You don't sound thrilled :)

Do you have any other ideas / preferences?

I could add support for pulling in a template stored in the file system, but I feel like that might be overkill for a simple email like this - I can't see it requiring very much structure/styling for a simple account registration email.

Share this post


Link to post
Share on other sites
1 minute ago, adrian said:

You don't sound thrilled :)

Do you have any other ideas / preferences?

I could add support for pulling in a template stored in the file system, but I feel like that might be overkill for a simple email like this - I can't see it requiring very much structure/styling for a simple account registration email.

Sorry... I mean that would be perfect! :)

And you're right it doesn't need much styling. I just like it to have the same feeling as the rest of the website.

Right now i've added a little extra code to have an extra option like {adminURL}. I'm registrating users that only work on the front-end. Each user is bound to a location and for the front-end login url I need the parent name of the location. So for now i added this extra code to the parseBody function:

  elseif($field == "location") {
      $pageId = $page->$field;
      $replacement = "http://".wire($pageId)->parent->name.".".wire('config')->httpHost;
  }

i don't know if there is an other easier way to do this?

Share this post


Link to post
Share on other sites

I have committed a new version which:

  • adds a new "From Name" field setting so that the email new users receive comes from your name/email, not just a raw email address.
  • adds support for HTML body text. A plain text version will be generated automatically from this and both sent with proper headers.
  • makes the parseBody method hookable, so you can define more complex field tag replacements.
    For example, this will accomplish @Timothy de Vos's needs:
$this->wire()->addHookBefore('EmailNewUser::parseBody', null, function($event) {
	$page = $event->arguments[2];
	$pageId = $page->location;
    $replacement = "http://".wire($pageId)->parent->name.".".wire('config')->httpHost;
	$event->arguments(0, str_replace('{location}', $replacement, $event->arguments[0]));
});

 

Please let me know if you have any problems with this new version!

Thanks to Timothy for helping to test this new version and as he noted, if you want full HTML support in the supplied CkEditor body input, you'll need to set:

config.allowedContent = true
  • Like 1

Share this post


Link to post
Share on other sites

I've just upgraded to the latest version (0.3.1) from a previous version which was working OK. I'm now getting the following error when trying to send the test email from admin (this previously worked):

Call to a member function new() on a non-object (line 158 of ***/site/modules/EmailNewUser/EmailNewUser.module) 

I see from the file in question that it's doing things with the password a that point but I'm not using the password generator at that point.

BTW, the site is running PW v2.7.2

Any ideas?

Share this post


Link to post
Share on other sites
41 minutes ago, prestoav said:

I've just upgraded to the latest version (0.3.1) from a previous version which was working OK. I'm now getting the following error when trying to send the test email from admin (this previously worked):


Call to a member function new() on a non-object (line 158 of ***/site/modules/EmailNewUser/EmailNewUser.module) 

I see from the file in question that it's doing things with the password a that point but I'm not using the password generator at that point.

BTW, the site is running PW v2.7.2

Any ideas?

I think the issue might be the PW version. I started using $mail->new() which I think maybe wasn't available in that version. Could you please clarify that it works if you change that line to:

$mailer = wireMail();

 

Share this post


Link to post
Share on other sites
54 minutes ago, prestoav said:

Hi, the error no longer appears but the test email never arrives.

Please try the version I just committed - I have just tested here on PW 2.7.2 and it's working fine.

Note that I am using horst's WireMailSMTP module, but I don't think that should matter.

  • Like 1

Share this post


Link to post
Share on other sites

Hi Adrian,

Yup, that now works perfectly, thanks for such a speedy response!

As it happens I'm also using Horst's WIreMailSMTP :-)

Geoff.

  • Like 1

Share this post


Link to post
Share on other sites
1 minute ago, prestoav said:

Yup, that now works perfectly, thanks for such a speedy response!

As it happens I'm also using Horst's WIreMailSMTP :-)

Excellent - sorry about the new bug in the first place :)

Share this post


Link to post
Share on other sites

Hi,

Does anyone know if it's possible to set the "Email Body" in multiple languages?

  • Like 1

Share this post


Link to post
Share on other sites
12 hours ago, Peejay said:

Hi,

Does anyone know if it's possible to set the "Email Body" in multiple languages?

It is now - please check the latest version just committed.

It now support ML subject and body fields and the user will receive the version associated with the language that you set in their profile.

Let me know if you find any problems.

  • Like 4

Share this post


Link to post
Share on other sites

Hi!
Great module - thanks for this, adrian!
Is there any possibility to send this user-email to admin at the same time ( without using another module )?
Thanks!!

Share this post


Link to post
Share on other sites

@itsberni,

Unless I misunderstand, you should set Bcc to the admin email prior to sending. The email copy will be sent in the same language. If you want the admin to receive the email in a different language, then you will have to repeat the process a second time addressing the email only to admin, and in their language.

Share this post


Link to post
Share on other sites

@rick ok! Thanks for advice....but, where  do i have to do this settings. In der EmailNewUser - Modul there ist no possibility.....

Share this post


Link to post
Share on other sites

Hi @itsberni,

I apologize. I just looked at the module and there is no Bcc option. As it is, you might try appending the admin email to the To address.

Share this post


Link to post
Share on other sites

Hi @itsberni - sorry for such a delayed response - I am just back from an extended time away from my computer.

I have added a new Bcc email field to the module config settings. All emails will be Bcc'd to the entered address automatically.

Please let me know how it goes for you.

 

  • Like 3

Share this post


Link to post
Share on other sites
On 04/07/2017 at 10:47 PM, adrian said:

I have added a new Bcc email field to the module config settings. All emails will be Bcc'd to the entered address automatically.

 

Thanks for implementing the Bcc field, @adrian! It works great on sites using WireMailSmtp.

However, on a site using the default WireMail implementation, the bcc() call will fail and abort the whole process. It seems the default WireMail interface does not (yet) have bcc() defined while it is available in WireMailSmtp and others.

I'd suggest doing a simple check for the bcc function. For that particular project, I have successfully used the following to fix it. Instead of (line 177):

if($this->data['bccEmail'] != '') $mailer->bcc($this->data['bccEmail']);

I inserted:

if($this->data['bccEmail'] != '') {
  if (method_exists($mailer, 'bcc')) {
    $mailer->bcc($this->data['bccEmail']);
  }
  else {
    $mailer->to($this->data['bccEmail']);
  }
} 

Since the default WireMail will send each to() recipient as a separate mail, the second to() call acts as a de facto bcc address. Maybe that will be enough, maybe you can think of a more sophisticated way of solving it.

  • Like 1

Share this post


Link to post
Share on other sites

Hi @d'Hinnisdaël - thanks for noticing this issue and putting together a fix. I am actually wondering if there is actually any point in using the bcc option even when it's available. Maybe I should just relabel it as "Notify other admin users" and make use of additional "To" email addresses. Maybe it should even support a comma-seperated list in case you want to notify more than one user.

Any thoughts on this before I implement?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Macrura
      PrevNextTabs Module
      Github: https://github.com/outflux3/PrevNextTabs
      Processwire helper modules for adding page navigation within the editor.
      Overview
      This is a very simple module that adds Previous and Next links inline with the tabs on the page editor. Hovering over the tab shows the title of the previous or next page (using the admin's built in jqueryUI tooltips.)
      Usage
      This module is typically used during development where you or your editors need to traverse through pages for the purpose of proofing, flagging and/or commenting. Rather than returning to the page tree or lister, they can navigate with these links.
      Warnings
      If you are using PW version 2.6.1 or later, the system will prevent you from leaving the page if you have unsaved edits.
      For earlier versions, to avoid accidentally losing changes made to a page that might occur if a user accidentally clicks on one of these, make sure to have the Form Save Reminder module installed.
      http://modules.processwire.com/modules/prev-next-tabs/
    • By Gadgetto
      SnipWire - Snipcart integration for ProcessWire
      Snipcart is a powerful 3rd party, developer-first HTML/JavaScript shopping cart platform. SnipWire is the missing link between Snipcart and the content management framework ProcessWire.
      With SnipWire, you can quickly turn any ProcessWire site into a Snipcart online shop. The SnipWire plugin helps you to get your store up and running in no time. Detailed knowledge of the Snipcart system is not required.
      SnipWire is free and open source licensed under Mozilla Public License 2.0! A lot of work and effort has gone into development. It would be nice if you could donate an amount to support further development:

      Status update links (inside this thread) for SnipWire development
      2020-03-21 -- SnipWire 0.8.5 (beta) released! Improves SnipWires webhooks interface and provides some other fixes and additions 2020-03-03 -- SnipWire 0.8.4 (beta) released! Improves compatibility for Windows based Systems. 2020-03-01 -- SnipWire 0.8.3 (beta) released! The installation and uninstallation process has been heavily revised. 2020-02-08 -- SnipWire 0.8.2 (beta) released! Added a feature to change the cart and catalogue currency by GET, POST or SESSION param 2020-02-03 -- SnipWire 0.8.1 (beta) released! All custom classes moved into their own namespaces. 2020-02-01 -- SnipWire is now available via ProcessWire's module directory! 2020-01-30 -- SnipWire 0.8.0 (beta) first public release! (module just submitted to the PW modules directory) 2020-01-28 -- added Custom Order Fields feature (first SnipWire release version is near!) 2020-01-21 -- Snipcart v3 - when will the new cart system be implemented? 2020-01-19 -- integrated taxes provider finished (+ very flexible shipping taxes handling) 2020-01-14 -- new date range picker, discount editor, order notifiactions, order statuses, and more ... 2019-11-15 -- orders filter, order details, download + resend invoices, refunds 2019-10-18 -- list filters, REST API improvements, new docs platform, and more ... 2019-08-08 -- dashboard interface, currency selector, managing Orders, Customers and Products, Added a WireTabs, refinded caching behavior 2019-06-15 -- taxes provider, shop templates update, multiCURL implementation, and more ... 2019-06-02 -- FieldtypeSnipWireTaxSelector 2019-05-25 -- SnipWire will be free and open source Plugin Key Features
      Fast and simple store setup Full integration of the Snipcart dashboard into the ProcessWire backend (no need to leave the ProcessWire admin area) Browse and manage orders, customers, discounts, abandoned carts, and more Multi currency support Custom order and cart fields Process refunds and send customer notifications from within the ProcessWire backend Process Abandoned Carts + sending messages to customers from within the ProcessWire backend Complete Snipcart webhooks integration (all events are hookable via ProcessWire hooks) Integrated taxes provider (which is more flexible then Snipcart own provider) Useful Links
      SnipWire in PW modules directory SnipWire Docs (please note that the documentation is a work in progress) SnipWire @GitHub (feature requests and suggestions for improvement are welcome - I also accept pull requests) Snipcart Website  
      ---- INITIAL POST FROM 2019-05-25 ----
       
    • By horst
      Croppable Image 3
      for PW 3.0.20+
      Module Version 1.2.0
      Sponsored by http://dreikon.de/, many thanks Timo & Niko!
      You can get it in the modules directory!
      Please refer to the readme on github for instructions.
       
      - + - + - + - + - + - + - + - + - + - NEWS - 2020/03/19 - + - + - + - + - + - + - + - + - + - 
      There is a new Version in the pipe, that supports WebP too: 
       
      - + - + - + - + - + - + - + - + - + - NEWS - 2020/03/19 - + - + - + - + - + - + - + - + - + - 
       
       
      -------------------------------------------------------------------------
       
      Updating from prior versions:
       
      Updating from Croppable Image 3 with versions prior to 1.1.7, please do this as a one time step:
      In the PW Admin, go to side -> modules -> new, use "install via ClassName" and use CroppableImage3 for the Module Class Name. This will update your existing CroppableImage3 module sub directory, even if it is called a new install. After that, the module will be recogniced by the PW updater module, what makes it a lot easier on further updates.
      -------------------------------------------------------------------------
       
      For updating from the legacy Thumbnail / CropImage to CroppableImage3 read on here.
       
      -------------------------------------------------------------------------
       
    • By Robin S
      Inspired by a recent question.
      Image Crop Ratios
      Allows preset aspect ratios to be defined per image field for the ProcessWire image crop tool.
      The module adds a select dropdown to the crop tool. Choose an aspect ratio and the crop area will be fixed to that ratio.
      Screencast

      Installation
      Install the Image Crop Ratios module.
      Configuration
      Default aspect ratios for all image fields can be defined in the module config. Aspect ratios for specific image fields can be defined on the Input tab of the field settings. You can override the ratio settings in template context if needed. Insert a hyphen as the first item in the ratio settings unless you want to force a ratio to be applied to the crop tool. The hyphen represents a blank option that allows a free crop area to be drawn. Usage
      Click the "Crop" link on the details view of an image thumbnail. Click the "Crop" icon at the top of the editor window. Choose an option from the "Ratio" select dropdown.  
      https://github.com/Toutouwai/ImageCropRatios
      https://modules.processwire.com/modules/image-crop-ratios/
×
×
  • Create New...