Jump to content

WireMailSmtp


horst

Recommended Posts

  • 2 weeks later...
On 9/27/2020 at 1:31 AM, hellomoto said:

Is there a built-in way to handle incoming email?

This module is an SMTP extension for the WireMail class. It can only handle SMTP transport which is for outgoing mail.
There is no module that I know of which can handle incoming mail (IMAP, POP3).
If you want to handle incoming mail, you could use a service for transactional emails like mailgun (and the WireMailgun module) and use webhooks. But this still involves quite a lot of programming.

  • Thanks 1
Link to comment
Share on other sites

On 9/27/2020 at 2:31 AM, hellomoto said:

Is there a built-in way to handle incoming email?

33 minutes ago, gebeer said:

There is no module that I know of which can handle incoming mail (IMAP, POP3).
If you want to handle incoming mail, you could use a service for transactional emails like mailgun (and the WireMailgun module) and use webhooks. But this still involves quite a lot of programming.

Depending on your needs https://modules.processwire.com/modules/process-email-to-page/ may be worth looking into. I'm not particularly familiar with this module, mind you, so don't ask me how (or if) it works ?

  • Like 1
Link to comment
Share on other sites

  • 4 months later...

WireMail SMTP, WireMailPHPMailer or SwiftMailer - which one is state of the art? Or any other? What are the pros and cons? I tried WireMail SMTP, it doesn't seem so reliable. Many people seem to be in favor of WireMailPHPMailer, but that needs some attention, but before I start, there's also SwiftMailer, so I don't know what's the best bet and which one's the newest.

Link to comment
Share on other sites

20 minutes ago, fruid said:

WireMail SMTP, WireMailPHPMailer or SwiftMailer - which one is state of the art? Or any other? What are the pros and cons? I tried WireMail SMTP, it doesn't seem so reliable. Many people seem to be in favor of WireMailPHPMailer, but that needs some attention, but before I start, there's also SwiftMailer, so I don't know what's the best bet and which one's the newest.

The following are a few links for you to check out:

Wiremail

Wiremail Class:

https://processwire.com/api/ref/wire-mail/

 

Wiremail Related Modules

https://processwire.com/modules/category/email/

 

 

  • Like 2
Link to comment
Share on other sites

PHP 8 was released a few months ago. I can't get WireMailSMTP to work with PHP 8. The error message is: "Error in hnsmtp::send : cannot connect to smtp-server!"

With PHP 7.4, on the other hand, it works fine. Was anyone already successful with PHP 8?
Thanks in advance.

  • Like 2
Link to comment
Share on other sites

I have an issue where some emails are lacking the replyto email-address though I set it in the code as follows…

	$mail->sendSingle(true);
    $mail->subject($subject);
    $mail->body($message);
    $mail->replyto($email);

So that's bad because, needless to say, cannot reply to the email. The log clearly show the email address in the array [replyTo] => yada@example.com

Any ideas how that can happen? I mean why how... Is that just an email client configuration?

EDIT: never mind, pretty sure it's an email client issue

Link to comment
Share on other sites

  • 2 weeks later...

Hey all, hey @horst,

I've strange behaviour and don't know where to debug: Following problem: The settings I'm using seems to be correct a test message is sent and I can receive it, but the Debug Log is orange and I can't submit any forms via FormBuilder.

 Unable to verify successful email delivery of this form submission.

 

Any ideas? Many greets!

EDIT: Found the problem, it was sitting right in front of the computer ?

damn.gif.0801566cef69374baea9081df831fd6d.gif

Forgot to edit the FormBuilder settings, therefore no mails where sent out.  @horst and all others - sorry for being annoying!

Link to comment
Share on other sites

On 3/2/2021 at 10:02 PM, titanium said:

PHP 8 was released a few months ago. I can't get WireMailSMTP to work with PHP 8. The error message is: "Error in hnsmtp::send : cannot connect to smtp-server!"

With PHP 7.4, on the other hand, it works fine. Was anyone already successful with PHP 8?
Thanks in advance.

Finally I got my local setup switched today. PHP 8 which needed a new apache version too, and then SSL needs to be updated, etc., etc., ...
Now I need to upgrade my IDE for PHP 8 support too. ?

After all I could debug and correct the WireMail-SMTP module: https://github.com/horst-n/WireMailSmtp

  • Like 4
Link to comment
Share on other sites

  • 3 months later...

So good evening it's been a while since i've got a real problem that give me headache.

I've got a site PW 3.0.101 - WireMailSmtp 0.60

-> setup should work smtp access tested with local emailclient
-> online test within WireMailSmtp give me success message

I use just a simple PHP contact form no formbuilder and so on just plain

wireMail($emailTo, $emailfrom, $betreff, $msg);

and i dont get it work? Any hints to look at or to test further?
im not that backend server guy and ;(

kind regards
Martin

Link to comment
Share on other sites

@mr-fan there is a method to send test email while debugging from within the modules page. Not the simple connection test. Have you used the verbose method and if so, what says the debug out?

If you like, you can PM me that.

  • Like 1
Link to comment
Share on other sites

  • 4 months later...

Hello, @horst!

What a great module you've presented us, the community, with! I've got it on each and every of my sites, and it is working so good I rarely think it is there. Only when you have questions you remember it exists. So this is the time to express gratitude. Thank you very much!

I am now moving my dev environment to the cloud to a VPS server. I want to have all my mail from that server to be caught and not to be sent away. So I started searching for solution and found MailHog. I've setup this program with the instructions from here. As far as I understand it, I've replaced sendmail with a substitute (mhsendmail) via sendmail_path setting in my php.ini file. That substitute program should redirect smtp messages to MailHog instead of the intended target.

When I test sending smtp from the cli, it works as I was expecting. But when I send real forms from dev site, it does not. My understanding of what is happening when WireMail does its job is close to non-existent ?. Could you please explain, should WireMail use this sendmail_path setting, or does it work some other way and it does not affect it?

And do you know any other way to achieve mail catching that I described earlier on a dev server? Thanks!

---

P.S. I really think that 15 pages of great answers is too much for anyone to handle. Recently @teppomanaged to move his Wireframe's support to a dedicated forum thread. I am sure this module should have one too. Ask @Pete if you agree.

Link to comment
Share on other sites

  • 2 months later...
1 hour ago, bernhard said:

could you please have a look at this issue?

The exact code snippet is this:

if( 
	( GetType($size)=="integer" && strlen($body)>$size )
 || ( function_exists("get_magic_quotes_runtime") && get_magic_quotes_runtime() )
) ...

When reading this, the "error" is wrong. If the function exists, it should be used. If it not exists, it get not called at all.

I run it against PHP 8.1+ and do not get this "error" you have.

Module version is 0.6.0

Edited by horst
Link to comment
Share on other sites

2 hours ago, bernhard said:

Thx @horst for having a look, I'll check that tomorrow on my side! I'm on PHP 8.1.2 so it's a little strange ? 

what type of error or warning is it? deprecation warning or compile error, or something differend?

Link to comment
Share on other sites

5 hours ago, bernhard said:

could you please have a look at this issue?

https://github.com/horst-n/WireMailSmtp/issues/14

"I" get them too, in php 7.4

In php 7.4 get_magic_quotes_runtime() is deprecated but still exists, so function_exists("get_magic_quotes_runtime") has no effect to stop the deprication message from appearing.

https://www.php.net/manual/en/function.get-magic-quotes-runtime.php

"REMOVED as of PHP 8.0.0." so function_exists("get_magic_quotes_runtime") bit works as expected in PHP 8 and up.

Edited by szabesz
typos
Link to comment
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
×
×
  • Create New...