我已经提到了我之前类似问题的先前答案,但它提供了使用Gmail的传出服务器配置的示例.但是我想将JavaMail API用于我公司正在使用的webmail:
传出服务器:smtp.softcellindia.com
港口:25
加密类型:无
我尝试使用以下代码.但它似乎没有发送邮件.
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.security.Security;
import java.util.Properties;
public class MailSender extends javax.mail.Authenticator {
private String mailhost = "smtp.softcellindia.com";
private String user;
private String password;
private Session session;
static {
Security.addProvider(new com.provider.JSSEProvider());
}
public MailSender(String user, String password) {
this.user = user;
this.password = password;
Properties props = new Properties();
props.setProperty("mail.transport.protocol", …Run Code Online (Sandbox Code Playgroud) 我对红宝石完全陌生。我必须解析一个YAML文件来构造一个对象
YAML文件
projects:
- name: Project1
developers:
- name: Dev1
certifications:
- name: cert1
- name: Dev2
certifications:
- name: cert2
- name: Project2
developers:
- name: Dev1
certifications:
- name: cert3
- name: Dev2
certifications:
- name: cert4
Run Code Online (Sandbox Code Playgroud)
我想从此YAML创建一个对象,为此我在Ruby中编写了以下代码
require 'yaml'
object = YAML.load(File.read('./file.yaml'))
Run Code Online (Sandbox Code Playgroud)
我可以使用[]成功访问该对象的属性,例如
puts object[projects].first[developers].last[certifications].first[name]
# prints ABC
Run Code Online (Sandbox Code Playgroud)
但是,我想通过方法调用访问属性
例如
puts object.projects.first.developers.last.certifications.first.name
# should print ABC
Run Code Online (Sandbox Code Playgroud)
有什么方法可以构造可以通过上述(点)方式访问其属性的对象?我已经读过有关OpenStruct和hashugar的文章。我也想避免使用第三方宝石
我不得不将数据对象从一个活动传递到另一个活动.最好的方法是使用Parcelable.dataobject有一些带有setter和getter方法的字段.在设置了一些字段并将对象传递给另一个活动之后,观察到的是字段值与其他字段值互换.写入包裹和从包裹中读取的字段顺序是相同的.
public void writeToParcel(Parcel out, int flags) {
out.writeInt(id);
out.writeString(appNo);
out.writeString(this.policyNo);
out.writeInt((int)this.AppRcptDt.getTime());
out.writeString(this.currentStatus);
out.writeString(this.productCd);
out.writeDouble(this.sumAssured);
out.writeDouble(this.modalPremium);
out.writeDouble(this.annualPremium);
out.writeString(this.paymentMode);
out.writeString(this.branchCd);
out.writeString(this.branchName);
out.writeString(this.insuredName);
out.writeString(this.auraStatus);
out.writeString(this.ownerName);
out.writeString(this.agentCd);
out.writeString(this.billingMode);
}
private ApplicationTrackerDO(Parcel in) {
id=in.readInt();
this.appNo = in.readString();
this.policyNo = in.readString();
this.AppRcptDt = new Date(in.readLong());
this.currentStatus = in.readString();
this.productCd = in.readString();
this.sumAssured = in.readDouble();
this.modalPremium = in.readDouble();
this.annualPremium = in.readDouble();
this.paymentMode = in.readString();
this.branchCd = in.readString();
this.branchName = in.readString();
this.insuredName = in.readString();
this.auraStatus = in.readString();
this.ownerName = in.readString();
this.agentCd = in.readString();
this.billingMode = in.readString(); …Run Code Online (Sandbox Code Playgroud) android ×2
email ×1
jakarta-mail ×1
object ×1
openstruct ×1
parcelable ×1
parsing ×1
smtp ×1
yaml ×1