zendframework / zend-mail

Mail component from Zend Framework
BSD 3-Clause "New" or "Revised" License
96 stars 111 forks source link

Add option novalidatecert to connect() #246

Closed abulhol closed 5 years ago

abulhol commented 5 years ago

This commit is a proposed fix for the following issue: https://github.com/zendframework/zend-mail/issues/84 It introduces an optional parameter novalidatecert both for POP3 and IMAP, which makes it possible to connect to mail servers with self-signed certificates, e.g. for development purposes.

michalbundyra commented 5 years ago

Change of method signature is BC Break. Can we implement it the other way without changing the method signature?

abulhol commented 5 years ago

Change of method signature is BC Break. Can we implement it the other way without changing the method signature?

This is why I added this as an optional parameter, which is indeed BC because the params are an array. How else is the method caller supposed to signal that SSL certificates should not be checked, if not through the method's arguments?

michalbundyra commented 5 years ago

We can add it to parameter in the constructor, set it to property and use in connect inside. It is not the nicest solution but it will work without BC Break. We can also add another method: "connectSsl" or something similar where ssl will be set to true but we will be able provide param if we want verify cert or not.

There are multiple options to implement it without BC break, we just need to choose the best one, which will be the best for the future major release.

BTW. Thanks for creating this PR :) 👍

abulhol commented 5 years ago

I see, thanks! You can close this PR, I will try to implement it like this and create a new PR.

michalbundyra commented 5 years ago

@abulhol no need for new PR, you can continue on this. Please also remember to update the documentation !

Thanks again :)

michalbundyra commented 5 years ago

@abulhol Also, remember to target develop branch instead of master as it is feature, so will be planned for next minor release (you can change it on editing PR, but you need also rebase the branch).

abulhol commented 5 years ago

I have created a PR to the develop branch (I did not manage to redirect this one here). Where do I update the documentation? I mean this here: https://docs.zendframework.com/zend-mail/

froschdesign commented 5 years ago

@abulhol See the Markdown files in https://github.com/zendframework/zend-mail/tree/master/docs/book