Closed yunits closed 8 months ago
I am not sure what u mean, anyways u could simply look where this property is used e.g. it sets the related smtpclient prop which does not do what u said
in addition this how it should work
let me know if it resolves your issues
I mean there are no entries in my property "UserName" if I choose UseDefaultCredentials = False. If I search at github in your repo for "Credentials" it will show me the file "Reactive.XAF/src/Modules/Email/ModelLogic.cs"
Here we have From, with "DataSourceProperty(nameof(FromEmails)" and UserName that has no DataSourceProperty. Could that be the reason?
[Required][DataSourceProperty(nameof(FromEmails))]
IModelEmailAddress From { get; set; }
[Category("Credentials"), ModelBrowsable(typeof(ModelSmtpClientUseDefaultCredentialsVisibilityCalculator)), Required(typeof(ModelSmtpClientDeliveryMethodRequiredCalculator))]
IModelEmailAddress UserName { get; set; }
in the same file u see
if (smtpClient.DeliveryMethod == SmtpDeliveryMethod.Network){
smtpClient.Host = modelSmtpClient.Host;
smtpClient.Port = modelSmtpClient.Port;
smtpClient.EnableSsl = modelSmtpClient.EnableSsl;
smtpClient.UseDefaultCredentials = modelSmtpClient.UseDefaultCredentials;
if (!smtpClient.UseDefaultCredentials){
smtpClient.Credentials = new NetworkCredential(modelSmtpClient.UserName.Address,
modelSmtpClient.Password);
}
}
so UseDefaultCredentials is only used SmtpDeliveryMethod.Network else it has no effect. Does this makes sense?
yes that makes sense and looks right.
My problem is, that the property UserName will not be filled/populated with "IModelEmailAddress" entries. It is just empty and you cannot choose any EMail address. And if you don't choose an address, you will get validation error.
https://user-images.githubusercontent.com/159464/253209132-db091a24-b7f1-48f5-b924-38e48784c7b0.png
do u have entries in the EmailAddresses
yes. You also see that I can choose my test address in From Property.
I still think that "[DataSourceProperty(nameof(FromEmails))]" is missing above IModelEmailAddress UserName { get; set; }?
ah now i got it apologies, anyways I will push asap,in the meantime u may try to override it with something like
[ModelDisplayName("SmtpClient")]
public interface IModelEmailSmtpClientEx : IModelNode {
[DataSourceProperty("Emails")]
[Category("Credentials"), ModelBrowsable(typeof(ModelSmtpClientUseDefaultCredentialsVisibilityCalculator)), Required(typeof(ModelSmtpClientDeliveryMethodRequiredCalculator))]
new IModelEmailAddress UserName { get; set; }
}
extend the IModelEmailSmtpClient
this I wrote on foot and did not test but I use similar approaches in the code so somehow near it is possible to override note the new
or u can simply add it in your xafml file manuly the restriction is UI only think the code will read it even if there are no entries in the lookup
Thanks, no hurry. I will wait until you have time for it.
The pre-release 4.231.1.0 in the Reactive.XAF lab
branch includes commits that relate to this task:
To minimize version conflicts we recommend that you use the Xpand.XAF.Core.All, Xpand.XAF.Win.All, Xpand.XAF.Web.All packages. Doing so, all packages will be at your disposal and .NET will add a dependecy only to those packages that you actually use and not to all (see the Modules installation-registrations youtube video).
Please update the related Nuget packages and test if issues is addressed. These are nightly nuget packages available only from our NugetServer.
If you do not use these packages directly but through a module of the main eXpandFramework project, please wait for the bot to notify you again when integration is finished or update the related packages manually.
Thanks a lot for your contribution.
Closing issue for age. Feel free to reopen it at any time.
.Thank you for your contribution.
Hello, I am testing your EMail Module and found an issue or maybe I miss something.
While configuring SmtpClients there is the option "UseDefaultCredentials". If I set it to False, I should be able to see for property UserName "Property type: Xpand.XAF.Modules.Email.IModelEmailAddress, Member of interface: Xpand.XAF.Modules.Email.IModelEmailSmtpClient" entries, same as in "From" property.
DXApplication4.zip